내 bash 스크립트에서 첫 번째 인수 다음에 플래그를 처리하려고하지만 getopts는 인수 전에 플래그 만 반환합니다.
or flag in getopts; do
case $flag in
d)
echo "-d flag was triggered!" >&2
;;
\?)
echo "Invalid option: -$OPTARG" >&2
;;
esac
done
이 예제에서 "플래그가 트리거되었습니다!" 한 번이 아닌 세 번 인쇄 할 문자열입니다.
$ ./myscript.sh -d arg1 -d -d -d
getopts
-d (develop mode) was triggered!
1
환경에 POSIXLY_CORRECT가 정의되어 있습니까? 그렇다면 옵션이 아닌 첫 번째 인수 이후의 모든 것을 무시합니다.
—
Frank Thomas