linux下执⾏sh⽂件的四种做法
四中⽅法
⽅法⼀:切换到shell脚本所在的⽬录(此时,称为⼯作⽬录)执⾏shell脚本:
代码如下:
cd /data/shell
./hello.sh
./的意思是说在当前的⼯作⽬录下执⾏hello.sh。如果不加上./,bash可能会响应到不到hello.sh的错误信息。因为⽬前的⼯作⽬录
查看PATH的内容可⽤ echo $PASH (/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
或
shell代码代码如下:
cd /data/shell
sh hello.sh
注意,若是以⽅法三的⽅式来执⾏,那么,可以不必事先设定shell的执⾏权限
不必事先设定shell的执⾏权限,甚⾄都不⽤写shell⽂件中的第⼀⾏(指定bash路径)。因为⽅hello.sh作为参数传给sh(bash)命令来执⾏的。这时不是hello.sh⾃⼰来执⾏,⽽是被⼈家调⽤执⾏,所以不要执⾏权限。那么法三是将hello.sh作为参数传给sh(bash)命令来执⾏的。这时不是hello.sh⾃⼰来执⾏,⽽是被⼈家调⽤执⾏,
不⽤指定bash路径⾃然也好理解了啊,呵呵……。
⽅法四:
⽅法四:在当前的shell环境中执⾏bash shell脚本:
代码如下:
cd /data/shell
.
hello.sh
或
代码如下:
cd /data/shell
source hello.sh
⼏种⽅法的对⽐:
前三种⽅法执⾏shell脚本时都是在当前shell(称为⽗shell)开启⼀个⼦shell环境,此shell脚本就在这个⼦shell环境中执⾏。shell脚本执⾏完后⼦shell环境随即关闭,然后⼜回到⽗shell中。
⽅法四则是在当前shell中执⾏的。
⽽⽅法四则是在当前shell中执⾏的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论