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

linux中运行.sh的问题
请问这三者有何不同
./a.sh
sh a.sh
bash a.sh

------解决方案--------------------
./a.sh 只能在文件有对当前文件有可执行权限时使用。 会调用第一行Z#!声明的解释器执行(可以是sh,bash,csh等)。
后面两种不需要文件对当前用户有可执行权限。
sh a.sh 这种方式当然就是用sh解释执行了。好像在ubuntu(默认是bash)下使用sh执行时,会禁用bash的特殊功能,以保持兼容性。 
bash a.sh就是说了,就是使用bash解释a.sh文件。
------解决方案--------------------
./script.sh和. ./script.sh的区别
http://bbs.chinaunix.net/thread-1426184-1-1.html

sh script.sh和./script.sh的区别
http://bbs.chinaunix.net/thread-1690297-1-1.html