shell 脚本程序二

97 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第28天,点击查看活动详情

shell script是一种拥有更强大功能的,类似程序撰写的,不需要经过编译就能够运行的,通过shell功能编写的一个程序,它是使用纯文本写成的,针对shell的脚本。

之前我们讲解过shell script的部分内容,今天我们讲讲他的实际使用,在编写shell script时,我们要注意语法规则,shell命令的执行是从上而下、从左而右进行的。编写也是如此,它同其他编写语言一样,对空格不敏感。

脚本的运行是有差异的,不论是使用绝对路径,相对路径还是path内的路径来执行脚本,这个脚本都会使用一个新的bash环境来运行脚本内的命令。我们说,使用这种执行方式时,脚本本质上还是在子程序bash内运行的,当子程序执行完毕后,在里面的各项变量还有动作都会结束,它们不会传回父程序里面。

[root@RHEL7-1 scripts]# echo  $firstname  $lastname 
[root@RHEL7-1 scripts]# sh  sheelz.sh
Please input your first name: zz  
[root@RHEL7-2 scripts]# echo   $firstname  $lastname

脚本在运行时出现问题了怎么办呢,这时候非常麻烦,那么我们如何调试呢?可以不需要通过直接运行脚本就可以来判断是否有问题吗,我们可以以bash的相关参数来进行判断。例如: [root@RHEL7-1 ~]# sh [-nvx] scripts.sh 我们可以使用以下命令: -n是不执行脚本,只查询语法的问题。 -v在执行脚本前,先输出。 -x将使用到的脚本内容显示到屏幕上。 下面我们举个例子来测试一下shz21.sh这个脚本有没有语法问题。 [root@RHEL7-2 ~]# sh -n shz21.sh 我们执行上面命令,如果没有报错,就说明这个脚本没有语法的问题。我们还可以使用-v命令预输出一下脚本,在屏幕上查看有无错误。调试的方法还要很多种,我们只需要明白一个原则,就是尽可能的简便我们的脚本程序编写。方便开发人员使用,调试。

好了,今天关于shell script的讲解就到这里了。