shell脚本的执行
之前写过一些简单的bash脚本,实现一些简单的功能,虽然每次写完之后无法使用
./test.sh 来执行,但是使用 sh test.sh 效果也一样的。
今天在使用 sh 来执行脚本时,出现了错误,就引发了我的好奇心,在网上搜了许多博客,看看到底有什么不同,以下是我的个人思考与理解
首先,在ubuntu 下创建脚本文件时,会默认不能执行,!可以看到无论是用户本身,同组用户,还有其他用户都没有执行权限。
然后我们需要使用简单的指令允许自己执行该批处理文件(该文件可以看作是若干条指令的集合,相当于Windows下面的.bat文件)
chmod +x test.sh
这样就可以使用 ./test.sh来执行该批处理文件了。
我出现的问题是,在使用 sh test.sh 执行文件时有一条语句报错
换成 ./test.sh 来执行就没问题了,我有点迷,在网上搜了好多才发现应该使用bash来执行这个批处理文件,这是由于以下语句要求使用bash来解析。
bash是功能比较齐全的,但是而sh的功能有限,所以会导致出现这样的错误。
希望大家多多指教