쉘 스크립트 getopts 이상한 동작 매개변수가 구문 분석되지 않음

쉘 스크립트 getopts 이상한 동작 매개변수가 구문 분석되지 않음

사용자가 전달한 매개변수를 가져오기 위해 간단한 쉘 스크립트를 시도하고 있지만 오류가 발생하지 않는 것 같습니다. 때로는 작동하지만 대부분의 경우 작동하지 않습니다(이상합니다).

helpFunc()
{
        echo ""
        echo "Usage: cdcode [-w] [-f paramF] [-h]"
        echo -e "\t-w for WebDev folder"
        echo -e "\t-f Specify a custom folder to concat at the end to CD into"
        echo -e "\t-h Display help"
        echo
}
while getopts "a:b:c:" opt
do
   case "$opt" in
       a ) paramA="$OPTARG" ;;
       b ) paramB="$OPTARG" ;;
       c ) paramC="$OPTARG" ;;
       ? ) helpFunc ;; # Print helpFunc in case parameter is non-existent
   esac
done
echo $paramA
echo $paramB
echo $paramC

달리기

$ cdcode -a aaa -b bbbb -c cccc

산출

$
$
$

변수가 paramA, paramB, paramC아직 초기화되지 않았기 때문에 세 개의 빈 줄이 표시됩니다.

관련 정보