脚本是存贮在一个文件的一系列命令。在终端上输入一个个命令,按次序执行的方式太弱了,使用脚本linux 执行shell脚本,系统中的用户可以在一个文件中储存所有命令,反复调用该文件多次重新执行命令。
在学习脚本或写脚本的早期阶段linux 执行shell脚本,我们一般从写小脚本或则几行命令的短脚本开始,调试这样的脚本时我们一般无非就是通过观察它们的输出来确保其正常工作。
但是,当我们开始写特别长或上千行命令的中级脚本,比如改变系统设置的脚本,在网路上执行关键备份等等,我们会意识到仅仅看脚本输出是不足以在脚本中找到Bug的!
为此,在Linux系列中这篇介绍Shell脚本调试,我们将瞧瞧怎么启用Shell脚本调试,之后在以后的系列中解释不同的Shell脚本调试模式以及怎样使用它们。
怎样开始写一个脚本
一个脚本与其它文件的区别是它的首行,它包含#!(She-Bang-释伴:定义文件类型)和路径名(类库路径),通知系统该文件是一个命令集合,将被指定程序(类库)解释。
下边是不同类型脚本首行示例:
注意:假如脚本仅包含一组标准系统命令,没有任何内部Shell指令,首行或#!可以去除。
怎样在Linux操作系统执行Shell脚本
调用一个脚本脚本的常规句型是:
另一种可能的方式是明晰指定将执行这个脚本的Shell,如下:
示例:
对于没有#!作为首行,仅包含基础系统命令的脚本linux makefile,示例如下:
使它可执行并运行,如下:
启用Shell脚本调试模式的方式
下边是主要的Shell脚本调试选项:
-v(verbose的简称)-告诉Shell读取脚本时显示所有行,激活详尽模式。
-n(noexec或noecxecution简称)-指示Shell读取所有命令但是不执行它们,这个选项激活句型检测模式。
-x(xtrace或executiontrace简称)-告诉Shell在终端显示所有执行的命令和它们的参数。这个选项是启用Shell跟踪模式。
1、改变Shell脚本首行
第一个机制是改变Shell脚本首行,如下,这会启动脚本调试。
其中,选项可以是前面提及的一个或多个调试选项。
2、调用Shell调试选项
第二个是使用如下调试选项启动Shell,这个技巧也会打开整个脚本调试。
示例:
3、使用Shell外置命令set
第三个方式是使用外置命令set去调试一个给定的Shell脚本部份,如一个函数。这个机制是重要的,由于它让我们可以去调试任何一段Shell脚本。
我们可以如下使用set命令打开调试模式,其中选项是之前提到的所有调试选项。
启用调试模式:
禁用调试模式:
据悉linux手机,假如我们在Shell脚本不同部份启用了几个调试模式,我们可以一次禁用所有调试模式,如下:
关于启用Shell脚本调试模式,先讲这种。正如我们看见的,我们可以调试一整个Shell脚本或则特定部份脚本。
在此系列下边的两篇文章中,我们会举例介绍怎样使用Shell脚本调试选项,进一步了解详尽verbose、语法检测syntaxchecking、跟踪tracing调试模式。