日期:2014-05-16  浏览次数:20809 次

文件头部 指定/bin/bash的意义
是不是说像if/function这些必须要由一个文件来先行解释翻译给系统,系统才知道具体执行什么命令呢?

因为如果shell脚本里头都是cd,ls这样的命令的话,那么其实系统会自己到$PATH里找到各自对应的命令文件呀,然后就能执行相应的操作,那么还需要/bin/bash这个文件来解释干什么?所以是不是/bin/bash解释的目的就在于这些函数或者语句这些?

此外为什么需要不同的shell呢?有一个大家公认统一的不是很好吗,毕竟内核一样。

------解决方案--------------------
/bin/bash 是现在大多数Linux发行版本的默认Shell,这时,第一行可以省去。
不同的shell支持不同的语法,csh中的部分语法,到了bash中可能就不识别了,所以在写Shell之前,一般先确定自己需要哪种Shell去解析,否则,可能会遇到脚本解析不了的情况。