永发信息网

shell里一个let命令,用sh跑不了,但bash可以,发现bin里面sh是dash的链接,那么sh和bash功能上什么区别

答案:3  悬赏:10  手机版
解决时间 2021-03-11 11:36
  • 提问者网友:焚苦与心
  • 2021-03-10 23:16
shell里一个let命令,用sh跑不了,但bash可以,发现bin里面sh是dash的链接,那么sh和bash功能上什么区别
最佳答案
  • 五星知识达人网友:毛毛
  • 2021-03-10 23:26
sh是shell的最小实现,基本都是符合POSIX标准的。
而bash在POSIX标准基础上添加了很多扩展语法和功能。
dash是Ubuntu默认的shell,dash与bash的区别网上一搜就有,我记得有一个区别就是dash不支持数组,而bash支持。可以更改Ubuntu的默认shell为bash的。

如果对可移植性有要求,写脚本还是尽量遵循POSIX标准的语法。虽然bash中有些语法非常方便。
全部回答
  • 1楼网友:掌灯师
  • 2021-03-11 02:01

要明白,shell只是一个壳子,来解释某些系统命令的。


一般系统内的/bin/sh 都是默认到/bin/bash的。


此外的csh ,kshfd@RootMorseSrc:~/c$ which sh
/bin/sh
fd@RootMorseSrc:~/c$ whereis sh
sh: /bin/sh.distrib /bin/sh /usr/share/man/man1/sh.1.gz
fd@RootMorseSrc:~/c$
  • 2楼网友:怀裏藏嬌
  • 2021-03-11 00:56
你的sh就是dash,那么你查下dash和bash的区别就行了。其实都差不多的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯