我编写了一个脚本来执行阶乘命令,但出现了这个错误

((: 1 <= : syntax error: operand expected (error token is "<=")

我无法修复它。尝试了 <= 符号,既有空格,也有无空格,但始终都一样。下面是整个脚本,上面指示的错误显示在第五行

!/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

这里有一个关于验证输入的教训......

相关内容