Bash/Scripting/Parse Args
Aus SchnallIchNet
< Bash | Scripting
Version vom 10. Januar 2010, 16:08 Uhr von Cbs (Diskussion | Beiträge) (hat „Bash:Parse Args“ nach „Bash/Scripting/Parse Args“ verschoben)
Parsen mit 'while'
#!/bin/sh while [ $1 ]; do case $1 in -u) shift; MYUSER=$1 shift; ;; --quota) shift; Q=$1 shift; ;; -h) echo "my help text " ;; *) echo "Unknown option $1" echo "Press enter to countinue" read dummy ;; esac done echo "\$MYUSER = $MYUSER" echo "\$Q = $Q" exit 0
Parsen mit 'select'
select opt in $@; do if [ "$opt" = "Quit" ]; then echo done exit elif [ "$opt" = "Hello" ]; then echo Hello World else clear echo bad option fi done
If you run this script you'll see that it is a programmer's dream for text based menus. You'll probably notice that it's very similar to the 'for' construction, only rather than looping for each 'word' in $OPTIONS, it prompts the user. but use case construct in the select-loop instead...