【发布时间】:2017-11-19 08:56:32
【问题描述】:
我知道我遗漏了一些非常明显的东西,但我就是看不到。在下面的代码中,new_i 变量正确递增,但是,当我到达 if 语句时,我认为我的语法不正确。我查看了一些示例,但是当if 语句大于(在本例中为15)一个数字时,没有一个显示变量设置为零。
#!/bin/sh
i=$(cat /etc/hour.conf)
new_i=$((i+1))
if [[ "$new_i" -gt 15 ]]; then
new_i=0
fi
echo "$new_i">/etc/hour.conf
echo "$new_i"
当我运行此脚本时,我收到以下错误:
./loops: 3: ./loops: Illegal number: new_i
提前感谢您的帮助!
【问题讨论】:
-
删除
=之后的空格:new_i=0 -
给出同样的错误信息
-
啊,问题出在3线上……
/etc/hour.conf的内容是什么? -
echo 0>/etc/hour.conf
-
嗯.. 你能找到那个文件吗?
echo 0>x.txt && cat x.txt给了我空文件。要修复它,您必须在>之前添加空格:echo 0 >/etc/hour.conf
标签: bash shell terminal variable-assignment