
계승 명령을 실행하기 위한 스크립트를 작성했지만 이 오류가 발생합니다.
((: 1 <= : syntax error: operand expected (error token is "<=")
나는 그것을 고칠 수 없습니다. <= 기호는 공백과 공백 없이 모두 시도되었지만 항상 동일했습니다. 아래는 위에 표시된 오류가 5번째 줄에 표시된 전체 스크립트입니다.
!/usr/bin/bash
i=1 #nie-zero bo tworzy iloczyn
wynik=1 # nie-zero bo tworzy iloczyn
while (($i <= $1))
do
wynik=$(($wynik * $i))
i=$(($i + 1))
done
echo $wynik
Proszę o pomoc;(
답변1
스크립트에 매개변수를 전달하는 것을 잊었습니다.
$ bash -xc 'i=1; (($i <= $1))' bash 2 ; echo $?
+ i=1
+ (( 1 <= 2 ))
0
하지만
$ bash -xc 'i=1; (($i <= $1))' bash ; echo $?
+ i=1
+ (( 1 <= ))
bash: ((: 1 <= : syntax error: operand expected (error token is "<= ")
1
여기에 입력 유효성 검사에 대한 교훈이 있습니다.