ubuntu中/bin/bash与/bin/sh,区别较大吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu中/bin/bash与/bin/sh,区别较大吗相关的知识,希望对你有一定的参考价值。
其实它们是同一个东东,/bin/sh是/bin/bash的连接文件,连接文件你知道吧,就相当于是Windows上的快捷方式文件。其实原来sh指的是Bourne Shell,和bash并不是一个东西,现在sh已经被bash替代了,所以/bin/sh就成了一个连接文件了。因为/bin/sh是/bin/bash的连接文件,所以sh命令和bash命令(这两个命令都可以用来执行shell脚本)也是一样的。 参考技术A 可以通过命令ls -l /bin/*sh查看一下,自测在新下载的ubuntu 16中虽然/bin/sh是作为连接文件的,但是其指向了dash。有需要时,最好修改为bash,我就是因为脚本不支持dash,即使添加了!#/bin/bash也没有,可以使用这个方式修改。bash: /usr/local/bin/composer.phar 没有这种类型的文件或文件夹(ubuntu 16.04)
【中文标题】bash: /usr/local/bin/composer.phar 没有这种类型的文件或文件夹(ubuntu 16.04)【英文标题】:bash: /usr/local/bin/composer.phar No file or folder of this type (ubuntu 16.04) 【发布时间】:2018-07-23 22:50:31 【问题描述】:我尝试在我的计算机上全局安装 composer (ubuntu 16.04) 我遵循官方作曲家文档
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') echo 'Installer verified'; else echo 'Installer corrupt'; unlink('composer-setup.php'); echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
接下来我使用这个命令;
sudo mv composer.phar /usr/local/bin/composer
当我在终端中写“作曲家”时,我遇到了这个错误:
bash: /usr/local/bin/composer.phar No file or folder of this type
有人知道我的问题吗?
【问题讨论】:
ls -la /usr/local/bin/ | grep composer
输出什么?
-rwxr-xr-x 1 adjol smileusers 1861877 févr. 13 14:29作曲家(作曲家是红色的)
所以要使用的命令是composer
。你确定你用另一种方式称呼它吗?您是否添加了任何包含 composer.phar
的 bash 别名?
我没有使用别名,但我昨天试过了,我得到了同样的信息。
我们应该知道脚本 composer-setup.php
正在做什么,以了解这里发生了什么。
【参考方案1】:
使用此命令移动 composer.phar
sudo mv composer.phar /usr/local/bin/
【讨论】:
以上是关于ubuntu中/bin/bash与/bin/sh,区别较大吗的主要内容,如果未能解决你的问题,请参考以下文章
-bash: /bin/mv: Argument list too long
linux的shell编程中#!/bin/sh和bash是啥意思?
linux用户信息里面的: shell /bin/bash 啥意思阿?