问大家一个shell的简单脚本问题,报错了,我不知道为什么报这个错?

2024-12-14 20:02:51
推荐回答(3个)
回答1:

还原一下脚本应该是这样:
#!/bin/bash
#Part="/backup"
Look_out=`df |grep $Part|awk '{print $5}' |sed 's/%//g'`

echo $Look_out
until [ "$Look_out" -gt "0" ]
do echo "Filesystem /backup is nearly full" | mail root Look_out=`df |grep $Part|awk '{print $5}' |sed 's/%//g'`
sleep 3600
done

根据出错信息很明显,脚本名为9.sh,第6行,也就是until [ "$Look_out" -gt "0" ],出错,有一个应该是整数类型的数据没有正确出现。

个人分析,应该有2个问题:
------------------------------------------------------------

1) until [ "$Look_out" -gt "0" ]应该写为until [ ${Look_out} -gt 0 ];
2)设置环境变量的时候#Part="/backup" 多加了#,这个设置不应该被注释掉,后面的Look_out变量需要用到这个变量。

回答2:

你的脚本能按行显示吗?这样挤成一块了怎么看呀?
看下是不是中括号左右要加个空格?

回答3:

你这样提问让回答者太累了, 格式都是错乱的, 问题也没有说清楚, 你这个脚本的目的是什么,需要得到什么结果, 都不知道, 你说怎么去回答? 谁会去回答?