Nekada davno pokušavao sam napraviti nešto slično, code snippet je ispod…
Anyway, tu gomilu echo linija možeš zamijeniti sa “heredoc” stringovima (kao HELP_MSG);
BASH inače ima pravo solidnu getopts implementaciju,
napraviš getopts string (opcije sa : ispred imena primaju argument), te u switch izrazu hvataš vrijednost argumenta sa OPTARG
Note: You must specify an action.
Example: $PROGNAME add example.net
Actions:
add
remove
suspend
show
list-all
Short options:
-h Display this help screen
-d <dir> Output directory
-v Display version
EOD)
if [ “$#” -eq 0 ];then
echo "$HELP_MSG"
exit $E_OPTERR
fi
while getopts “:d:f:g:n:u:sv” options; do
case $options in
"d" )
echo “CONF DIR”
;;