シェルスクリプト getopts 奇妙な動作パラメータが解析されない

シェルスクリプト getopts 奇妙な動作パラメータが解析されない

ユーザーが渡したパラメータを取得するために単純なシェルスクリプトを試していますが、エラーは発生しないようです。時には動作しますが、ほとんどの場合は動作しません(奇妙です)。

helpFunc()
{
        echo ""
        echo "Usage: cdcode [-w] [-f paramF] [-h]"
        echo -e "\t-w for WebDev folder"
        echo -e "\t-f Specify a custom folder to concat at the end to CD into"
        echo -e "\t-h Display help"
        echo
}
while getopts "a:b:c:" opt
do
   case "$opt" in
       a ) paramA="$OPTARG" ;;
       b ) paramB="$OPTARG" ;;
       c ) paramC="$OPTARG" ;;
       ? ) helpFunc ;; # Print helpFunc in case parameter is non-existent
   esac
done
echo $paramA
echo $paramB
echo $paramC

走る

$ cdcode -a aaa -b bbbb -c cccc

出力

$
$
$

変数がparamA, paramB, paramCまだ初期化されていないため、3 つの空行が表示されます。

ベストアンサー1

おすすめ記事