Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux “我犯了错误”;应为一元运算符“;_Linux_Shell_Redhat - Fatal编程技术网

Linux “我犯了错误”;应为一元运算符“;

Linux “我犯了错误”;应为一元运算符“;,linux,shell,redhat,Linux,Shell,Redhat,我在第5行和第11行得到了预期的错误一元运算符。 请帮助解决此问题 在第9行,您使用了正斜杠而不是反斜杠。此外,循环端应高于“如果”条件。如果条件也应修改为-eq echo ”enter the number” read n q=$n a=0 while [ $q -gt 0 ] do r=`expr $q % 10` q=`expr $q / 10` a=`expr $a + $r \* $r \* $r` done if [ $a -eq $n ] then

我在第5行和第11行得到了预期的错误一元运算符。 请帮助解决此问题


在第9行,您使用了正斜杠而不是反斜杠。此外,循环端应高于“如果”条件。如果条件也应修改为-eq

echo ”enter the number”
read n
q=$n
a=0
while [ $q -gt 0 ]
do
    r=`expr $q % 10`
    q=`expr $q / 10`
    a=`expr $a + $r \* $r \* $r`
done

if [ $a -eq $n ]
then
    echo “the number $n is armstrong number”
else
    echo “the number $n is not armstrong number”
fi

用双引号将变量括起来,这样就可以了。另一个想法是使用
[[..]]
而不是
[..]
。我认为第5行的问题可能是,
-gt
应该是
-gt
。在长破折号(em破折号?)上应该使用常规破折号,破折号和字母g之间应该没有空格。
echo ”enter the number”
read n
q=$n
a=0
while [ $q -gt 0 ]
do
    r=`expr $q % 10`
    q=`expr $q / 10`
    a=`expr $a + $r \* $r \* $r`
done

if [ $a -eq $n ]
then
    echo “the number $n is armstrong number”
else
    echo “the number $n is not armstrong number”
fi