参考:《Linux命令/编辑器与Shell编程》
##########################################################
按照应用的Shell环境不同,可以将Shell脚本分成多种类型。其中最常见的是应用于Bash和Tcsh的脚本,通常将其称为Bash脚本和Tcsh脚本
同Tcsh脚本相比,Bash脚本在Linux中的应用相对较广
note that:Shell脚本同Linux系统中的其他文件一样,可以不使用扩展名。但为了方便识别,通常建议Bash脚本文件名以sh结尾,Tcsh脚本文件以csh结尾。
############################################################3
Shell脚本其实就是文本文件,因此建立新的脚本文件时,可以使用Vi / Emacs / Nano 等文本编辑器
在当前目录中新建一个名为Hello.sh的脚本文件:
#使用vi编辑器在当前目录中新建一个名为Hello.sh的脚本文件
# vi Hello.sh
进入vi编辑器的插入模式,输入脚本文件的内容:
#!/bin/bash
#This is a test script.
#This script will output Hello.
# 5/10/15
echo "Hello !"
查看脚本文件内容:
#使用cat命令查看Hello.sh的内容
# cat Hello.sh
#######################################################
Hello.sh脚本解释
第一行内容:
#!/bin/bash
用于告诉系统应该使用何种Shell来执行这个脚本,或者使用哪种Shell来解释执行这个脚本内容中的内容。
note that:调用Bash语句也可以写为#!/bin/bsh,并且调用Shell的语句只能出现在脚本文件的第一行
第二/三/四行内容:
#This is a test script.
#This script will output Hello.
#5/10/15
除第一行外,脚本中所有以“#”开头的行都是注释。注释的主要作用是为了方便阅读和维护脚本,实际执行时系统会忽略注释。
note that:编写脚本时,为脚本添加详细注释,有助于日后阅读和维护脚本
最后一行:
echo "Hello !"
脚本内容是实现脚本功能的一组命令的集合,有一个或多个命令组成。
在较为复杂的脚本中,又将脚本内容划分为定义部分和主体部分:
定义部分主要用于定义脚本捕获的系统信号 / 使用的变量 / 函数和文件等
主体部分的语句主要调用定义部分中的变量 / 函数,以实现脚本的功能
在本例中,脚本内容只有主体部分,并且主体部分是一个echo命令,其功能是将字符串"Hello !"输出到标准输出。
#############################################################
脚本的运行方式
分3种:使用Bash命令 / 使用点号和设置脚本的执行权限
1.使用Bash命令执行脚本
# bash Hello.sh
Hello !
使用Bash编写的脚本,通常可以使用bash命令解释执行脚本
2.使用点号“.”执行脚本
这种执行脚本的方式通常用于调用系统脚本文件:
# . Hello.sh
Hello !
使用这种方式执行脚本文件时,系统会使用当前Shell解释执行脚本文件
note that:使用bash命令和点号执行脚本时,可以省略脚本文件中的Shell调用语句。但如果脚本不是系统脚本文件,通常不建议这样做
3.设置脚本为可执行
先为脚本文件添加可执行权限,然后就可以像应用程序那样执行脚本文件。
#为脚本Hello.sh添加可执行权限,并验证
# chmod u+x Hello.sh
# ls -l Hello.sh
脚本文件具有可执行权限后,就可以像应用程序那样执行了:
# ./Hello.sh
使用这种方式执行脚本文件时,如果脚本文件没有位于环境变量中的搜索路径,应该使用绝对路径或相对路径指定脚本文件的位置。