
13 学习shell script
13.1 什么是shell script
13.1.1 为什么学习shell script
13.1.2 第一个shell script 的编写与执行
注意事项:
1. 指令的执行是从上而下、从左而右的分析与执行;
2. 指令的下达就如同第四章内提到的: 指令、选项与参数间的多个空白都会被忽略掉;
3. 空白行也将被忽略掉,并且 [tab] 按键所推开的空白同样视为空键;
4. 如果读取到一个 Enter 符号 (CR) ,就尝试开始执行该行 (或该串) 命令;
5. 至于如果一行的内容太多,则可以使用『 \[Enter] 』来延伸至下一行;
6. 『 # 』可做为批注!任何加在 # 后面的资料将全部被视为批注文字而被忽略!
执行方法
直接指令下达: shell.sh 文件必须要具备可读与可执行 (rx) 的权限:
假设你写的这个程序文件名是 /home/dmtsai/shell.sh :
o 绝对路径:使用 /home/dmtsai/shell.sh 来下达指令;
o 相对路径:假设工作目录在 /home/dmtsai/ ,则使用 ./shell.sh 来执行
o 变量『PATH』功能:将 shell.sh 放在 PATH 指定的目录内,例如: ~/bin/
以 bash 程序来执行:透过『 bash shell.sh 』或『 sh shell.sh 』来执行
编写shell
1. 第一行 #!/bin/bash 在宣告这个 script 使用的 shell 名称:
2. 程序内容的说明:
一般来说, 建议你一定要养成说明该script 的:1. 内容与功能; 2. 版本信息; 3. 作者与联络方式; 4. 建档日期;5. 历史纪录 等等。这将有助于未来程序的改写与 debug
3. 主要环境变量的宣告:
建议务必要将一些重要的环境变量设定好,鸟哥个人认为, PATH 与 LANG (如果有使用到输出相关的信息时) 是当中最重要的! 如此一来,则可让我们这支程序在进行时,可以直接下达一些外部指令,而不必写绝对路径呢!比较方便!
4. 主要程序部分
5. 执行成果告知 (定义回传)
13.1.3 编写shell script 良好习惯
建议你一定要养成良好的 script 撰写习惯,在每个 script 的文件头处记录好:
script 的功能;
script 的版本信息;
script 的作者与联络方式;
script 的 History (历史纪录);
script 内较特殊的指令,使用『绝对路径』的方式来下达;
script 运作时需要的环境变量预先宣告与设定。
13.2 简单的shell script 练习
13.2.1 简单范例
13.2.2 script 的执行方式的区别(source,shscript,./script)
利用直接执行的方式来执行 script:
当使用前一小节提到的直接指令下达 (不论是绝对路径/相对路径还是 ${PATH} 内),或者是利用bash (或 sh) 来下达脚本时, 该 script 都会使用一个新的 bash 环境来执行脚本内的指令!也就是说,使用这种执行方式时, 其实 script 是在子程序的 bash 内执行的!
重点在于:『当子程序完成后,在子程序内的各项变量或动作将会结束而不会传回到父程序中』
范例
[dmtsai@study bin]$ echo ${firstname} ${lastname}
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-58905-1.html
其二
小日本的手机好像不行吧