같은에서 몇 게시물을 통해 사라 이것 만이 문제를 해결할 수없는. korn 쉘 스크립트에 4 개의 인수를 전달하고 있습니다. 그러나 4 번째 인수는 읽지 않습니다. 다음은 코드입니다.
#Get Input parameters
while getopts ":s:e:n:d" OPT
do
case $OPT in
(s) from=$OPTARG;;
(e) to=$OPTARG;;
(n) process=$OPTARG;;
(d) path=$OPTARG;;
(\?) printerror;;
esac
done
print "from $from" 1>&2;
print "to $to" 1>&2;
print "process $process" 1>&2;
print "path $path" 1>&2;
그런 다음 다음과 같은 스크립트를 실행합니다.
loaddat.ksh -s 1234 -e 1234 -n 1 -d /d/asa/
내가 무엇을하든 경로 값은 인쇄되지 않습니다. 따옴표를 사용하거나 사용하지 않고 시도했습니다. 값으로 xyz와 같은 문자열로도 마찬가지입니다.
옵션 문자열에서 d 뒤에 콜론이 필요합니다.
":s:e:n:d:"
명령 줄에서 옵션 '-d'뒤에 해당 값이 올 것으로 예상되기 때문입니다.이 경우에는 경로입니다.
문자열 'd'의 옵션 문자 뒤에 ':'가 없으면 getopts는 해당 값을 확인하지 않습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다