したがって、次のコードでは、ユーザーが自分のコードに次のように入力した入力を自分のコードから読み取るようにします。
#./MyProject -a -b OR -b -a
ただし、構文エラーが引き続き発生し、プログラムによって提供されたテストに失敗します。次のテストは次のとおりです。入力がa&bではありません(例:cz)、入力がまったくありません、パラメータが少なすぎ、パラメータが多すぎます、
#Use just prints out the format like this : ./MyProject -a -b
- if ( ! getopts ":ab" arg) then
echo $use
fi
while [getopts ":ab" arg2]
do
case $arg2 in
t) if (($1 != "t" && $1 != "o")); then
echo $use
fi
esac
done
}
ベストアンサー1
次の例が役に立ちます。
#!/bin/bash
usage() {
echo "Usage: $0 -a -b"
exit
}
while getopts ":a:b:" arg; do
case $arg in
a)
a=${OPTARG}
(($a == "t" || $a == "o")) || usage
;;
b)
b=${OPTARG}
;;
*)
usage
;;
esac
done
echo $a
echo $b