while getopts "f:t:d:g:o:p:b:q:r:" opt; do
case "$opt" in
(f)fan=${OPTARG}
(t)..
esac
done
shift $(( OPTIND - 1 ));
입력을 제공하는 방법은 무엇입니까? 위에 언급된 코드 조각에 대한 입력을 제공하는 방법을 알려주실 수 있는 분 계시나요?
답변1
특정 while 루프( 사용 getopts
)의 경우 일반적으로쉘 스크립트그런 다음 옵션/인수를 사용하여 스크립트를 호출합니다. 예:
#!/bin/bash
while getopts "f:t:d:g:o:p:b:q:r:" opt; do
case "$opt" in
f) fan=${OPTARG}
;;
t) echo "doing somthing with option t = $OPTARG"
;;
esac
done
shift $(( OPTIND - 1 ));
그런 다음 실행 가능하게 만드십시오.
chmod +x yourscript.sh
그런 다음 다음과 같이 실행하십시오.
$ ./yourscript.sh -t 3
doing somthing with option t = 3