Так что я хочу иметь возможность использовать опцию -h, чтобы показать подробности справки.У меня есть:
while getopts ":h:d:n" opt; do
case $opt in
h) help="true" >&2
;;
d) vdir="$OPTARG"
;;
n) vname="$OPTARG"
;;
\?) echo "Error: Invalid option -$OPTARG" >&2
echo "Please use -h for more information"
exit 1
;;
esac
done
# If -h was used, display help and exit
if [ "$help" = "true" ]; then
echo "Help details"
fi
Когда я передаю детали для -d или -n (например, программа -d / var / test /), они получают их нормально.Однако, когда я делаю что-то вроде программы -h, это не работает.
Я также пытался отобразить строку, когда я делаю опцию h) в операторе case, однако это не отражается.Кажется, что когда я делаю -h, это не работает, я должен также отправить значение (например, program -h "test"), и он сделает то, что требуется.
Если я сделаю что-то вродеПрограмма -p показывает сообщение об ошибке, как требуется, -h просто ничего не делает.