1. #!/bin/sh
程序必须以#!/bin/sh开始,必须放在文件的第一行。
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。当编写脚本完成时,如果要执行该脚本,还必须使其可执行。要使编写脚本可执行:
编译 chmod +x filename 这样才能用./filename 来运行, chmod +x filename用来将文本文件转变为可执行文件。
2. export ROOT_DIR=$PWD
Linux export 命令用于设置或显示环境变量。在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。
Linux pwd(英文全拼:print work directory) 命令用于显示工作目录,执行 pwd 指令可立刻得知您目前所在的工作目录的绝对路径名称。
$ 符号在Linux系统里面用于获取一个变量的值,$PWD 获得当前工作目录路径的字符串值。
3. echo "Usage:"
Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:echo string
4. [ "$#" -lt 1 ]
当调用该脚本表示没有提供参数时该如何处理。
5.while getopts ":a:bc:" opt
getopts的使用
语法格式:getopts [option[:]] [DESCPRITION] VARIABLE
option:表示为某个脚本可以使用的选项
":":如果某个选项(option)后面出现了冒号(":"),则表示这个选项后面可以接参数(即一段描述信息DESCPRITION)
VARIABLE:表示将某个选项保存在变量VARIABLE中
getopts是linux系统中的一个内置变量,一般用在循环中。每当执行循环是,getopts都会检查下一个命令选项,如果这些选项出现在option中,则表示是合法选项,否则不是合法选项。并将这些合法选项保存在VARIABLE这个变量中。
getopts还包含两个内置变量,及OPTARG和OPTIND
OPTARG就是将选项后面的参数(或者描述信息DESCPRITION)保存在这个变量当中。
OPTIND:这个表示命令行的下一个选项或参数的索引(文件名不算选项或参数)
while
getopts
":a:bc:"
opt
do
case
$opt
in
a)
echo
$OPTARG $OPTIND;;
b)
echo
"b $OPTIND"
;;
c)
echo
"c $OPTIND"
;;
?)
echo
"error"
exit
1;;
esac
done