Я читал много тем справки здесь, но так и не нашел ответа по моему конкретному вопросу или проблеме.простой математический расчет в сценарии bash
У меня есть этот Баш код в красной шляпе 7 (не то, что это важно, но ..)
if [[ $(stat -c %s) -gt 1024 ]];
then
echo " $(scale=1;stat -c %s log.txt/1024) KiloBytes"
else
echo " $(stat -c %s log.txt) Bytes"
fi
и выдает эту ошибку:
stat: missing operand Try 'stat --help' for more information. 0 Bytes
С этой крошечной проверки я хочу чтобы увидеть, превышает ли файл log.txt 1024 байта, если он равен true, делит общий размер байта на 1024 и эхо выводит как XXXX KiloBytes. Но чего мне не хватает. Shellcheck.com говорит, что все в порядке ...
Может ли кто-нибудь помочь мне в этом вопросе?
Что вы пытаетесь «статизировать»? Вы не говорите, что ничего не ставите, поэтому он жалуется на это. Возможно, вы имели в виду '$ (stat -c% s log.txt)'? –
Да, я имел в виду '$ (stat -c% s log.txt)' спасибо – floppy
Кстати, вместо того, чтобы выполнять 'stat' снова, вы, вероятно, просто хотите сохранить результат в переменной, а затем проверить и напечатать значение этой переменной. –