Причина ошибки - эта пара строк
threshold=$96%
...
if [ $used_space >= $threshold ]
Первая устанавливает порог на нечто совершенно непохожее на то, что, как я подозреваю, вы делаете. В основном потому, что вы не заключили строку в кавычки, но частично потому, что здесь есть $
, который даже не имеет семантического смысла:
threshold=$96%
echo ">$threshold<" # >6%<
Код ...
Я Опущено позволяет установить used_space = 97
, так что затем вы переходите к сравнению, которое на самом деле вообще не является сравнением.>
перенаправляет вывод теста в файл =
, а затем оставляет следующие данные для оценки как часть теста:
[ 97 6% ]
, который выводит -bash: [ : 97: ожидается унарный оператор
. Вероятно, вы искали оператор -ge
(см. man bash
или даже man test
для получения подробной информации о доступных вам операторах).
Si compila/enlaza con ncurses en lugar dencursesw , se comportará de esa manera.
El prefijo"M-"
se usa para los códigos de caracteres 160 -255 cuando la configuración local le dice a ncurses que el código no se imprime. UTF -8 contiene muchos de esos códigos.