为 shell 脚本实现开关 [例如:-m] 的最佳方法是什么?我可以通过 switch case 语句来做到这一点。但我很想知道是否有任何其他标准方法可以通过开关将所有参数放入变量中。例如:-m A1 A2 -c c1 c2
因此, M[] 可以采用 -m 并且 C[] 都可以采用 -c
最著名的方法是使用getopts
,请参阅http://wiki.bash-hackers.org/howto/getopts_tutorial
一个例子 :
#!/bin/bash
while getopts ":a" opt; do
case $opt in
a)
echo "-a was triggered!" >&2
;;
\?)
echo "Invalid option: -$OPTARG" >&2
;;
esac
done