我正在阅读 /bin/sh 和 /bin/bash 之间的差异,并遇到了这个有趣的问题/答案:here https://stackoverflow.com/questions/5725296/difference-between-sh-and-bash/5725402?noredirect=1#comment74080587_5725402
我对在我的标题中提出同样问题的答案发表了评论,他回复了更新的答案:
如何找出系统上 /bin/sh 指向的内容?
复杂的是 /bin/sh 可能是符号链接或硬链接
关联。如果它是符号链接,则解决它的可移植方法是:
> % file -h /bin/sh
> /bin/sh: symbolic link to bash
如果是硬链接的话
尝试
> % find -L /bin -samefile /bin/sh
> /bin/sh
> /bin/bash
我尝试了这个,但遇到了麻烦,所以我想我应该提出一个单独的问题。
我从链接答案得到的结果:
>file -h /bin/sh
>/bin/sh: executable (RISC System/6000) or object module
>find -L /bin -samefile /bin/sh
>find: bad option -samefile
我缺少什么?
我正在运行 AIX:
>oslevel -s
7100-03-03-1415
如果您需要以编程方式测试它们是否相同,可以使用stat
来查询inode
of /bin/sh
并与inode
of /bin/bash
.
if [ $(stat -L -c %i /bin/sh) -eq $(stat -L -c %i /bin/bash) ]; then
.....
fi
如果您只需要用眼睛看它们是否相同,请运行stat
命令并查看它们是否返回相同的值inode
number.
stat -L -c %i /bin/sh
stat -L -c %i /bin/bash
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)