引数を「逐語的」としてスクリプトに渡そうとしています。問題は、引数が二重引用符で囲ま""
れ、二重ダッシュ/二重ハイフンで始まること--
です。
これは一例です
script.sh -f "--conf=bla"
私のスクリプトでは$*
、$@
これを次のように変換します
-f --conf=bla
そして、これが到達したとき、getopts
この情報を本来あるべき方法でデコードする方法はありません。
ちなみにこれは私のgetopts
foo()
{
while getopts ":f:" vars
do
case ${vars} in
f ) MYVAR=${OPTARG};;
* ) Err; exit 1;;
esac
done
shift $((OPTIND-1))
}
--conf=bla
内部に保存したいのですがMYVAR
、これを行う方法が見つかりません。明らかに、二重引用符が取り除かれる方法を制御できず、一般的に、テキストを逐語的にスクリプトに渡すことはできません。
どうすればこれを制御できますか?