[英]Why won't my shell script work?
我正在使用bash,这是我的代码
for i in $(seq 20)
do
if [ $i % 3 == 0 ]
then
echo HI
else
echo $i
fi
done
因此输出应为:1 2 hi 4 5 hi ...,依此类推。 但是在运行外壳程序时,我一直收到此错误。 script.sh 4:[:1:意外的运算符1然后一直这样,直到20。我尝试了不同的操作,但无法正常工作。
甚至更简单:
if ((i%3 == 0)) # No '$' needed
then
....
您需要将包含if
的行更改为:
if [[ $((i%3)) == 0 ]]
那可行。
用这个
for i in {1..20}
do
if [ `expr $i % 3` == 0 ]
then
echo HI
else
echo $i
fi
done
应该像下面提到的格式,
如果[$ i%3 == 0]; 然后
但是如果您引入“ ==”符号,则只会产生1到20的增量值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.