就像我将这个参数传递给命令行一样
trace.sh -f abc -t 20
我想在变量中取代(-t 20)。怎么做?
谢谢
答案 0 :(得分:0)
非常基本的例子(不完全容易出错)
err() { echo "$@" >&2; return 1; }
declare -A options
options=([f]="abc" [t]="20") #the defaults
while getopts ":f:t:" opt
do
case "$opt" in
f) options[$opt]="$OPTARG" ;;
t) options[$opt]="$OPTARG" ;;
\?) err "Invalid option -$OPTARG" || exit 1 ;;
esac
done
echo "t: ${options[t]}"
echo "f: ${options[f]}"