쉘 스크립트를 처음 사용합니다. 나는 숫자가 소수인지 아닌지 날씨를 확인하는 함수를 작성했지만 if 조건에있는 단항 연산자의 오류가 발생했습니다. 친절하게 내가 실수 한 부분을 지적하십시오.쉘 스크립트의 소수 함수
파일 : fprime.sh
prime()
{
n=$1
t=0
for i in {2..$n}
do
r=`expr $n % $i`
if [ $r == 0 ]
then
t=`expr t + 1`
fi
done
if [ $t == 1 ]
then
echo "prime"
else
echo "not prime"
fi
}
prime
출력 :
~$ ./fprime.sh 5
expr: syntax error
./fprime.sh: line 8: [: ==: unary operator expected
하지 프라임
쉘 구문 오류가 발생할 때마다 좋은 첫 번째 단계는 코드를 잘라내어 [shellcheck.net] (http://www.shellcheck.net/) 에 붙여 넣은 다음 오류를 수정하십시오) 및 경고 (중요 할 수도 있음)를 식별합니다. 메시지를 이해하는데 어려움이 있다면 여기로 와서 물어보십시오. – John1024