====== Parsing arguments in bash script ====== you can access positional arguments through the ''$1'' ''$2'' etc. varaibles and ''$#'' contains the number of positional arguments, but what if you want to parse more advanced, non positional arguments? this simple snippet that i stole from [[http://linuxcommand.org/lc3_wss0120.php|here]] provides an elegant and quick solution: interactive= filename=~/sysinfo_page.html while [ "$1" != "" ]; do case $1 in -f | --file ) shift filename=$1 ;; -i | --interactive ) interactive=1 ;; -h | --help ) usage exit ;; * ) usage exit 1 esac shift done