执⾏Shell脚本的4种⽅法
假设我们编写好的shell脚本的⽂件名为hello.sh,⽂件位置在/root/bin⽬录中并已有执⾏权限(添加权限的⽅法:chmod +x hello.sh)。
1、⽅法⼀:切换到shell脚本所在的⽬录(此时,称为⼯作⽬录)执⾏shell脚本:
./ 的意思是说在当前的⼯作⽬录下执⾏hello.sh。如果不加上./,bash可能会响应到不到hello.sh的错误信息。因为⽬前的⼯作⽬录
(/root/bin)可能不在执⾏程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中。查看PATH的内容可⽤ echo $PASH 命令。现在的/root/bin就不在环境变量PASH中的,所以必须加上 ./ 才可执⾏。
shell最简单脚本2、⽅法⼆:以绝对路径的⽅式去执⾏bash shell脚本(可以在当前⽬录下执⾏,也可以不在当前⽬录下执⾏):
3、⽅法三:切换到⼯作⽬录下(/root/bin),直接使⽤bash 或sh 来执⾏bash shell脚本,不⽤给shell脚本加执⾏权限即可
注意:若是以⽅法三的⽅式来执⾏,那么,可以不必事先设定shell的执⾏权限,甚⾄都不⽤写shell⽂件中的第⼀⾏(指定bash路径)。
因为⽅法三是将hello.sh作为参数传给sh(bash)命令来执⾏的,这时不是hello.sh⾃⼰来执⾏,⽽是被⼈家调⽤执⾏,所以不要执⾏权限,那么不⽤指定bash路径⾃然也好理解了呀
4、⽅法四:在当前的shell环境中执⾏⽤ . hello.sh或source hello.sh来执⾏ bash shell脚本:
总结:前三种⽅法执⾏shell脚本时都是在当前shell(称为⽗shell)开启⼀个⼦shell环境,此shell脚本就在这个⼦shell环境中执⾏,shell 脚本执⾏完后⼦shell环境随即关闭,然后⼜回到⽗shell中。⽽⽅法四则是在当前shell中执⾏的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论