1

将来のコマンドライン引数を簡単に追加できるようにスクリプトを作成しようとしています。私はgetoptsを使用していますが、うまくいきます。ただし、ケースステートメントで問題が発生しています。

args=`getopt lLo:t: $*`
if [ $? -ne 0 ]
then
   echo "Usage: Default error message"
fi

while [ "$#" -eq 3 ] || [ "$#" -eq 5 ]
do 
   if [ "$1" != "-o" ] && [ "$1" != "-t" ]
   then
      echo "\nInvalid argument sequence."
      exit 1
   fi

   case "$1" in
   (-o)
      shift
      VAR1="$1"
      shift
      ;;
   (-t)
      shift
      VAR2="$1"
      shift
      ;;
   (*)
      LAST_VAR="$1"
      ;;
   (--) shift; break;;
 esac
done

$LAST_VAR をエコーすると、null になります。何か案は?これを行うより良い方法はありますか?

4

1 に答える 1