bash sh区别

运行脚本如下:
在这里插入图片描述
一直抛如下问题,把GIT命令全手动执行了不止一遍。。。。。结果一样
在这里插入图片描述
后来无意将sh修改为bash ,通了。。。。。

分析原因:未将sh与bash区分清楚

通常Linux系统上,/bin/sh都是指向/bin/bash。可也有个性的产品:
1.现代的debian和ubuntu系统上,sh默认是dash的符号链接(根在这里,根在这里
2.Busybox,它通常在Linux系统引导时作为initramfs的一部分运行。它使用了ash shell实现。
3.BSDs,以及通常所有非linux系统。OpenBSD 使用pdksh,Korn shell的后代。FreeBSD的sh是原始UNIX Bourne shell的后代。Solaris有它自己的sh但长期以来都不是与POSIX兼容的,是一种Heirloom项目提供的一个开源实现。

/bin/sh在系统上的指向

分为符号链接和硬链接两种。

1、符号链接查找方式:

% file -h /bin/sh
/bin/sh: symbolic link to bash

2、硬链接如下:

% find -L /bin -samefile /bin/sh
/bin/sh
/bin/bash

实际上-L标志同时包括符号链接和硬链接,但是这种方法的缺点是它不是可移植的,POSIX不需要find来支持-samefile选项,尽管GNU find和FreeBSD find都支持它。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值