Чтобы проверить последний код состояния выхода в оболочке bash, вы можете использовать:
echo $?
Также вы сказали, что используете эту команду в скрипте, поэтому, чтобы получить код состояния, вы можете запустить этот скрипт следующим образом:
sh -x /path/to/script
или
bash -x /path/to/script
Другие варианты - использовать команды set -x и set +x в сценарии для получения кода состояния для частей скрипта .
Подробнее о:
Отладка сценариев Bash.Поскольку вы хотите сделать числовое сравнение, а не лексическое, я бы предложил использовать что-то вроде perl или awk, например
df -h | awk 'NR==1 || substr($5,1,length($5)-1) > 33'
, где
NR==1 всегда печатать строку заголовка substr($5,1,length($5)-1) удалять конечный знак % из 5-го поля, численно сравнивать результат со значением 33. Чтобы сделать его более гибким, вы можете передать желаемый значение отсечки в виде переменной, например
df -h | awk -v val=33 'NR==1 || substr($5,1,length($5)-1) > val'