【发布时间】:2016-07-15 23:18:52
【问题描述】:
我正在 linux 中编写一些 bash 脚本,我只想比较两个数字。一个是磁盘大小,另一个是限制。我通过使用 linux cmd 获取磁盘大小并将其存储在如下所示的变量中,
declare -i output
output= df -h | grep /beep/data| awk '{ printf ("%d",$5)}'
echo "$output" # Got 80 here
limit = 80
if [ $output -eq $limit ];
then
fi
运行时出现以下错误:
line 27: [: -eq: unary operator expected"
【问题讨论】:
-
这是您运行的确切代码吗?看起来你不会越过第二条线
-
您的
df行看起来不错,我可以从我的测试结果中确认您确定在原始代码中=周围没有空格。 -
为什么在复制和粘贴实际代码时遇到麻烦?
-
@sjsam:即使
df行在=之后也有空格,而且他还没有将他的命令放在$()中 -
@Fazlin :我在回答中更新了这一点,谢谢