0
getopt를 사용하여 다음 명령 행 옵션을 구문 분석하는 방법을 알려줄 수 있습니까?bash 구문 분석 명령 행 옵션
myCmd [[-f <file> | -k | -v] -e <env> -h help]
여기서
f
, k
및 v
는 상호 배타적이다. f
및 e
모두 매개 변수가 필요하지만 k
및 v
은 매개 변수가 필요하지 않습니다.
- 이 -f 파일 -e의 AAA 또는 을 mycmd
- mycmd -v -e AAA 또는
- mycmd -k -e AAA
I 다음을 시도 :
while getopts "f:kve:" o
do
case "$o" in
f | k | v) process_file ;;
k) process_key ;;
v) process_var ;;
e) process_env ;;
*) print_help ;;
esac
done;
오크. 어떤 도움을 주셔서 감사합니다.
"* 작동하지 않습니다 *"는 무엇을 의미합니까? 어떤 행동을 기대합니까? – Socowi
f, k 또는 v를 상호 배제 할 수 없습니다. – Chenulu