我編寫了一個腳本來執行階乘命令,但出現此錯誤

((: 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

普羅澤·奧·波莫克;(

答案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

這裡有一個關於驗證輸入的課程...

相關內容