私はbashを初めて使用します。次の問題についての提案が必要です。
だから私はこのようにスクリプトを実行したい
./myscript --bootstrap bootstrap.exe --vmmount ./vmmount --image /dev/sdb2 --target-exe installer.exe [--internal-exe] param1 param2 param3 ...
私が行った引数パーサー:
VMMOUNT=""
BOOTSTRAP=""
IMAGE_FILE=""
TARGET_EXE=""
INTERNAL_EXE=""
while : ; do
if [ "$1" = "--vmmount" ] ; then
[ -n "${VMMOUNT}" ] && usage
VMMOUNT="$2"
shift
shift
elif [ "$1" = "--bootstrap" ] ; then
[ -n "${BOOTSTRAP}" ] && usage
BOOTSTRAP="$2"
shift
shift
elif [ "$1" = "--image" ] ; then
[ -n "${IMAGE_FILE}" ] && usage
IMAGE_FILE="$2"
shift
shift
elif [ "$1" = "--target-exe" ] ; then
[ -n "${TARGET_EXE}" ] && usage
TARGET_EXE="$2"
shift
shift
elif [ "$1" = "--internal-exe" ] ; then
[ -n "${INTERNAL_EXE}" ] && usage
INTERNAL_EXE="true"
shift
shift
else
break
fi
done
my_method "${IMAGE_FILE}" "${VMMOUNT}" "${BOOTSTRAP}" "${TARGET_EXE}" "${INTERNAL_EXE}"
パラメータparam1やparam2などの解析に混乱があります。それらを解析する方法は?$@
paramsを配列または他の効率的な方法として使用できますか?