У меня есть окно сообщения Zenity в сценарии
zenity --info --text='done' > /dev/null 2>&1
Я должен открыться сообщение, например: "файл меньше затем 30 кбайт!" когда файл меньше затем 30 кбайт.
Как мог я затем еще писать "если" сценарий для появления сообщения zenity, когда, например: "ФАЙЛ" меньше затем 30 кбайт?
Спасибо!
#!/bin/bash
if [ $(stat --printf="%s" FILENAME) -lt 30720 ]; then
zenity --info --text='file is smaller then 30 KBytes!' > /dev/null 2>&1
fi
Эти примеры используют синтаксис, который характерен для более современных оболочек, таких как Bash, ksh и zsh.
Некоторые системы не имеют stat
и Вы не должны анализировать ls
.
result=$(find . -maxdepth 1 -name "$file" -size -30k)
if [[ ${result##*/} = $file ]]
then
zenity --info --text='The file is smaller then 30 KBytes!' > /dev/null 2>&1
fi
Где "30k" равняется 30720. Если Вы предпочли бы, можно использовать -size -30000c
.
Если Вы действительно имеете stat
:
size=$(stat -c '%s' "$file")
if (( size < 30720 )) # or you could use 30000
then
zenity --info --text='The file is smaller then 30 KBytes!' > /dev/null 2>&1
fi