方法一:切换到 shell 脚本所在的目录执行 shell 脚本:
- cd /data/shell
- ./hello.sh
./ 的意思是说在当前的工作目录下执行 hello.sh。如果不加上./,bash 可能会响应找到不到 hello.sh 的错误信息。因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之列, 也就是说,不在环境变量 PASH 的内容之中。查看 PATH 的内容可用 echo $PASH 命令。现在的 / data/shell 就不在环境变量 PASH 中的,所以必须加上./ 才可执行。
方法二:以绝对路径的方式去执行 bash shell 脚本:
- /data/shell/hello.sh
方法三:直接使用 bash 或 sh 来执行 bash shell 脚本:
- cd /data/shell
- bash hello.sh
或者
- cd /data/shell
- sh hello.sh
注意,若是以方法三的方式来执行,那么,可以不必事先设定 shell 的执行权限,甚至都不用写 shell 文件中的第一行(指定 bash 路径)。因为方法三是将 hello.sh 作为参数传给 sh(bash) 命令来执行的。这时不是 hello.sh 自己来执行,而是被人家调用执行,所以不要执行权限。那么不用指定 bash 路径自然也好理解了啊
来源: http://www.bubuko.com/infodetail-1972288.html