Shell scripts(程序化工具)
就字面意思,可分为两部分:
一、shell部分,也就是文字接口下面让我们与系统沟通的工具接口;
二、script,也就是脚本,所以shell script 也就是针对shell的脚本;
其实简单的说,就是一个文本文件中写入了shell的语法与指令,并搭配了正规表示法等来达到批处理的目的工具。
在 shell script 的撰写中还需要用到注意事项:
1. 指令的执行是从上而下、从左向右的分析并执行;
2. 指令、选项与参数间的多个空白都会被忽略;
3. 空白行也将被忽略,并且 [tab] 按键所推开的空白同样规为空格键;
4. 如果读取到一个 Enter 符号 (CR) ,就尝试开始执行该行 (或该串) 命令;
5. 至于如果一行的内容太多,则可以使用『 \[Enter] 』来延伸至下一行;
6. 『 # 』可做为批注!任何加在 # 后面的资料将全部被规为批注文字而被忽略!
撰写的脚本一般为.sh结尾,编写好后的执行有如下两种方式:
1.直接指令下达:该脚本必须具备可读和可执行权限,然后:
- 绝对路径:用/home/lxj/shell.sh来下达
- 相对路径:假设工作目录在/home/lxj/,则使用./shell.sh来执行
- 变量PATH:将脚本放在PATH指定的目录内,此时可以敲打脚本文件名直接执行
2.以bash程序执行:透过 bash shell.sh 或 sh shell.sh来执行,但也得路径正确,参照1
3.用source来执行脚本:通过source shell.sh来执行
以上3重方式实际上还是有区别的,第1、2种方式实际上是在父程序上开了一个子程序来跑了脚本,如此的结果就是,你在脚本中设置了某些变量,但在父bash环境下则是无效的
而采用source则是在当前的bash环境下跑脚本,所以你设置的变量数据会起到效果。
接下来书写一个简单的hello,world脚本
vim sh01.sh
1 #!/bin/bash 2 3 #Projram: 4 # This projram is show "Hello,world!" in your screen 5 6 echo "Hello,world!" 7 exit 0
其中第一行#!/bin/bash是宣告此script所使用的shell为bash,为bash脚本必须书写的一行
执行后显示
[root@isms /]# ./sh01.sh
Hello,world!