linux shell编程中我遇到个问题是关于 看两个数能否整除的 我把这段从整个程序中抽出来,希望高手帮我看看

#!/bin/bash
n=5
x=3
if [$n%$x=0]
then
echo "can"
else
echo "can not"
fi

运行这段系统提示是:
[5%3=0] : command not find
can not
帮我看看 if 语句哪里写错了

[ 对于 shell 来说其实也是一个命令。
所以,对于 linux 来说,[(空格)xxxxx 这么写是很有必要的。
而且对于标准语法来说,= 前后也应该有空格。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-10-25
[5%3=0] : command not find
shell不识别

#!/bin/bash
n=10
x=2
if [ `expr $n % $x` = 0 ]
then
echo "can"
else
echo "can not"
fi
第2个回答  2010-10-30
1楼正解,稍微解释下。在bash中if后面的[ ] ,两端要空格,=在bash中如果是赋值不需要空格,但是判断相等是要两边加空格的,我刚学也碰到这些问题。
所以你的应该是if [ $n%$x = 0 ]

linux shell编程中我遇到个问题是关于 看两个数能否整除的 我把这段...
[ 对于 shell 来说其实也是一个命令。所以,对于 linux 来说,[(空格)xxxxx 这么写是很有必要的。而且对于标准语法来说,= 前后也应该有空格。

相似回答