Linux命令 - getopts
问题,向脚步传递参数的时候如何取得一个一个的option
办法一: 就是一个一个读 用$#取得变量个数,然后读$1 $2 $3,不是很方便
查了一下命令手册:发现用getopts命令更方便,man page不是很好懂
直接看 Example.sh:
# !/ bin / sh
while getopts 'a:b:c' myoption
do
case $myoption in
a) ls - al
;;
b) ls - l $OPTARG
;;
c) ls - l
esac
done
用法和效果:
Example.sh -a stringa
就会执行 ls -al 这个命令, stringa 其实不起左右,但是这个参数还是要的
Example.sh -b -lrt
那就会执行 ls -l -lrt 传进去的参数起作用了
当然也可以这样
Example.sh -a 123 -b -lrt z, 这个作用就是两个命令都执行了
可以用变量保存这些OPTARG参数,在while循环外面接着使用
问题,向脚步传递参数的时候如何取得一个一个的option
办法一: 就是一个一个读 用$#取得变量个数,然后读$1 $2 $3,不是很方便
查了一下命令手册:发现用getopts命令更方便,man page不是很好懂
直接看 Example.sh:
# !/ bin / sh
while getopts 'a:b:c' myoption
do
case $myoption in
a) ls - al
;;
b) ls - l $OPTARG
;;
c) ls - l
esac
done
用法和效果:
Example.sh -a stringa
就会执行 ls -al 这个命令, stringa 其实不起左右,但是这个参数还是要的
Example.sh -b -lrt
那就会执行 ls -l -lrt 传进去的参数起作用了
当然也可以这样
Example.sh -a 123 -b -lrt z, 这个作用就是两个命令都执行了
可以用变量保存这些OPTARG参数,在while循环外面接着使用