客服热线:13033933971

shell脚本的执行方式相关

2023-02-28 13:58 浏览:0 来源:锅炉之家   
核心摘要:shell脚本一般是以shebang(sharp-bang)起始的,在Unix的行话里,用sharp或bang(mesh)来称呼字符“#”,用bang来称呼感叹号“!”,因而合起来就是shebang。shebang是Sharp和Bang的组合词。Sharp for #, Bang for ! 类似的情况是,C#通常被称为C Sharp。不是注释。shebang(#!)所在行的作用是告知该脚本使用的是哪种命令

shell脚本一般是以shebang(sharp-bang)起始的,在Unix的行话里,用sharp或bang(mesh)来称呼字符“#”,用bang来称呼感叹号“!”,因而合起来就是shebang。

shebang是Sharp和Bang的组合词。Sharp for #, Bang for ! 类似的情况是,C#通常被称为C Sharp。

不是注释。shebang(#!)所在行的作用是告知该脚本使用的是哪种命令解释器,并不是可有可无的。虽然很多情况下省略了shebang(#!)仍然能够运行脚本,这是由于系统在这种情况下是默认使用了当前命令行解释器的

shebang(#!)应该位于脚本的第一行,并且顶格填写,否则都是错的,即使shebang之前的内容都是注释,这种错误是常见的,而且不易发现的,因为此时shebang(#!)所在行实际上是不起效的,系统使用了默认的命令行解释器。

只有第一行的shebang(#!)会生效,其余的会视为注释。

#!/bin/bash

shebang是一个文本行,其中#!位于解释路径之前,/bin/bash是Bash的解释器路径。

shell脚本的执行方式有两种:

1、将脚本名作为命令行参数,即使用Bash命令执行脚本:

如:

bash test.sh

2、将脚本文件赋予执行权限,然后执行程序:

chmod +x test.sh
or
chmod 755 test.sh
./test.sh


Get小技巧:

这里说一下一个小技巧,我们在使用bash执行脚本文件时,可以使用-x参数启用shell脚本的调试跟踪功能,这个参数可以打印输出脚本所执行的每一行命令以及当前的状态:

注:当然还有别的用法,有兴趣可以自行了解~~

如:

vim test.sh
for i in `seq 1 5`
do
echo $i
done

然后运行以下命令:

bash -x test.sh

当然了。如果我们把“#!/bin/bash”改为“#!/bin/bash -xv”也可以开启bash 的调试功能。

(责任编辑:小编)
下一篇: 暂无
上一篇:

查询一个AD属性的长度,AD中对属性长度的限制

打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们