🐟
getopsのすゝめ
TL;DR
$ ./sample.sh -p "Hello"
Hello
$ ./sample.sh -p
default
$ ./sample.sh -e
[ERROR] Unknown option: -e
[developer@mbse-pc02 runtime]$ cat ./sample.sh
#!/bin/sh
DEFAULT="default"
while getopts :p: OPT; do
case $OPT in
"p") echo "$OPTARG" ;;
":")
case $OPTARG in
"p") echo "$DEFAULT" ;;
*)
echo "[ERROR] Option -$OPTARG requires an argument."
exit 1
;;
esac
;;
?)
echo "[ERROR] Unknown option: -$OPTARG"
exit 1
;;
esac
done
Discussion