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中有些语法非常方便。
而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的区别就行了。其实都差不多的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯