1
私は引数を解析する関数を書こうとしています。関数内のオプションを読んで値として返します
opts_get(){
CONFIG=()
while getopts "f:" opt; do
case $opt in
f)
CONFIG=$OPTARG
;;
:)
echo "Option -$OPTARG requires argument" 1>&2
exit 1
;;
\?)
echo "Invalid option -$OPTARG" 1>&2
exit 1
;;
esac
done
echo $CONFIG
}
echo $(opts_get)
しかし残念ながら、それは私が-f sdf
オプションを渡しても、空行を出力します。ここではそれがどのように見えるかです。
私は任意の関数
CONFIG=()
while getopts "f:" opt; do
case $opt in
f)
CONFIG=$OPTARG
;;
:)
echo "Option -$OPTARG requires argument" 1>&2
exit 1
;;
\?)
echo "Invalid option -$OPTARG" 1>&2
exit 1
;;
esac
done
echo $CONFIG #prints what I want
したがって、関数が別の関数から呼び出された場合。最初に呼び出し元関数にパラメータを渡す必要があります。 –
$ '{OPTIND}'はどういう意味ですか? –
@ St.Antario:Yes absolutely – Inian