Это потому, что ваш df
вывод НЕ идет одной строкой или около того, чтобы сделать это, вам нужно добавить опцию -P
, попробуйте выполнить один раз.
df -hP | awk '{if( 0+$5 >= 75 ){print "exiting now..";exit 1}}'
ИЛИ
df -hP | awk '$5+0>=75{print "exiting now..";exit 1}'
ИЛИ с именем монтера, который является виновником нарушения порога.
df -hP | awk '$5+0>=75{print "Mount " $1 " has crossed threshold so exiting now..";exit 1}'
Если у вас нет -P
затем введите следующее.
df -k | awk '/^ +/ && $4+0>=75{print "Mount " prev" has crossed threshold so exiting now..";exit 1} !/^ +/{prev=$0}'
Я использую оператор print
, чтобы убедиться, что exit
работает.Кроме того, опция -P
была протестирована в системах BASH.
Поскольку OP сказал, что ему нужно выйти из самого скрипта полностью, поэтому я запросил OP добавить следующий код вне цикла for
его кода. (У меня нетхотя проверил, но это должно работать)
if [[ $? -eq 1 ]]
then
echo "Exiting the complete script now..."
exit
else
echo "Looks good so going further in script now.."
fi