Вам доводилося, напевно, створювати нескладні скрипти операційної оболонки Unix/Linux (шел-скрипти), які використовують додаткові опції, вказані у командному рядку. Наприклад:
$ processdata.sh -h
Usage:
processdata.sh [options]
Possible options:
-c <config-file> -- use configuration file
-f -- force conversion
-h -- print usage screen
-v -- be verbose
Забезпечити коректну обробку опцій засобами шелу може бути достатньо складно (адже треба врахувати можливості вказання опцій в довільному порядку, різні варіанти синтаксису, якто -fv або -f -v, та ін.), якщо не користуватися утілітою шела getopts. Ось зразок її використання, гадаю, він не потребує коментарів:
#!/bin/sh
OPTION=""
OPTARG=""
while getopts c:fрv OPTION; do
case $OPTION in
c ) CONFIG=$OPTARG;;
f ) FORCE=1;;
h ) echo "Usage: $0 [-fhv] [-c <config>]"; exit 0;;
v ) VERBOSE=1;;
esac
done
echo "CONFIG = $CONFIG"
echo "FORCE = $FORCE"
echo "VERBOSE = $VERBOSE"
Немає коментарів:
Дописати коментар