shell/ target=_blank class=infotextkey>shell脚本对于选项和参数的处理使用两种方法:
1:shift n 移位操作命令来处理参数,在不知道参数的个数的情况下。
2:getopts 命令来处理选项带有参数的输入
主要用法:
过程详解:
getopts 命令的第一个参数是 选项规则参数,:ab:cd 的意思是第一个冒号表示不输出错误信息,选项后面的冒号表示该选项后带有参数,abcd表示选项。
第二个参数是当前脚本命令行中输入的参数,
getopts使用到的环境变量有:
OPTARG 变量为getopts定义的带有参数选项的参数值 ,OPTIND 环境变量的值为脚本参数的位置,初始值为1。
当getopts处理完毕后,返回一个正数结束。
有关getopts的详细用法,请参考文章:
read命令读入用户输入数据的用法
read命令是一个shell内部命令,可以读入多个参数。
read -s -n4 -t 5 -p "please input : " -s 选项表示隐藏输入信息输入,一般用于密码输入,-n4表示输入的字符的长度为4-t 5 表示超时时间为5s ,-p表示输入说明。
当使用read进行输入时,没有指定变量,则read将输入的参数放入环境变量REPLY中,若输入的参数大于指定的变量数,则将剩余的参数全部放入最后一个指定的变量中。
read还可以用来输入一个行文本,例子如下
用linuxjishu/14000.html target=_blank class=infotextkey>cat命令查看文本,将结果通过管道输入给while命令,在利用readline命令读取,当读取到空行时,read返回一个正数,while结束循环。