当前位置: 首页 > Linux

鸟学Shell编程初学者(二)编写简单的Shell脚本

时间:2023-04-06 19:51:42 Linux

Shell脚本通常需要掌握语言函数才能编写Python和PHP脚本,而Shell脚本则不需要。编写Shell脚本只需要掌握Linux命令即可,因为Shell脚本是由多条Linux命令组成的。通过将多个Linux命令组合起来,保存成一个脚本文件,就可以直接被其他人使用。组合命令进入一个目录,查看目录下的文件,这个过程需要执行两个命令,分别是cd和ls。两个命令分别执行的形式如下:[root@lincodingusr]#cd/usr/[root@lincodingusr]#[root@lincodingusr]#lsbinetcgamesincludeliblib64libexeclocalsbinsharesrctmp[root@lincodingusr]#我们可以使用分号;将两条命令组合起来依次执行,则一起执行的形式如下:[root@lincodingusr]#cd/usr/;lsbinetcgamesincludeliblib64libexeclocalsbinsharesrctmp[root@lincodingusr]#WriteShellscriptprocess如果经常使用或提供给别人这两个命令,我们可以将这两个命令保存在一个Shell脚本文件中。01创建一个shell脚本文件。使用bash的shell通常有.sh后缀[root@lincodinghome]#touchtest.sh02编写shell脚本,通过vi命令编写test.sh脚本。内容如下:cd/usr/ls需要注意的是shell中不需要加分号;脚本中每条语句后,每条命令都使用换行符,在执行Shell脚本时会依次执行。03赋予Shell脚本执行权限因为创建文件时,默认是没有执行权限的,我们需要赋予脚本执行权限,脚本才能运行[root@lincodinghome]#chmodu+xtest.sh查看脚本权限[root@lincodinghome]#ls-ltest.sh-rwxr--r--.1rootroot13Sep1209:10test.sh04执行Shell脚本用bash执行Shell脚本,执行结果和我们外面的单行组合命令一样执行结果一样[root@lincodinghome]#bashtest.shbinetcgamesincludeliblib64libexeclocalsbinsharesrctmp声明Shell解释器下面是一些其他需要考虑的问题。在不同系统下运行会有问题。如果系统默认的shell不是bash,这个shell脚本可能会执行失败,因为里面可能有bash的一些shell特性。然后我们可以在shell脚本文件的第一行声明它使用的是哪个shell,书写格式如下:#!/bin/bash这样写的好处是当shell脚本执行的时候,会自动告诉系统使用bash解释器Shell来执行脚本。我们把刚才的test.sh脚本修改如下:#!/bin/bashcd/usr/ls那么在声明了使用哪个shell解释器之后,我们执行脚本的方式就可以变得很简单了[root@lincodinghome]#./test.shbinetcgamesincludeliblib64libexeclocalsbinsharesrctmp总结我们在写shell脚本的时候,第一行要用#!/bin/bash来声明shell解释器,写完之后要给shell执行权限,并且然后就可以执行运行了。