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,区别较大吗的主要内容,如果未能解决你的问题,请参考以下文章

怎么把shell的/bin/bash改为/bin/sh

-bash: /bin/mv: Argument list too long

linux的shell编程中#!/bin/sh和bash是啥意思?

linux用户信息里面的: shell /bin/bash 啥意思阿?

linux用户信息里面的: shell /bin/bash 啥意思阿?

登录linux,提示:/bin/bash: Permission denied 。登录不成功。这个要怎么办啊??