Проверка размера файла с использованием test -s
На этом этапе вы узнаете, как проверить, существует ли файл и не является ли он пустым, используя команду test
с опцией -s
. Команда test
является встроенной командой оболочки (shell), которая используется для оценки условных выражений. Часто она применяется в скриптах оболочки для принятия решений.
Опция -s
в команде test
проверяет, существует ли файл и имеет ли он размер больше нуля (то есть, он не пустой).
Сначала создадим пустой файл и непустой файл в каталоге ~/project
.
Если терминал не открыт, откройте его. По умолчанию вы должны находиться в каталоге ~/project
.
Создайте пустой файл с именем empty_file.txt
:
touch empty_file.txt
Теперь создайте файл с именем non_empty_file.txt
и добавьте в него некоторый текст с использованием команды echo
и оператора перенаправления >
. Оператор >
перенаправляет вывод команды в файл. Если файл не существует, он создается. Если он существует, его содержимое перезаписывается.
echo "This file has content." > non_empty_file.txt
Теперь используем команду test -s
для проверки этих файлов. Команда test
не выводит результат при успешном выполнении. Она сигнализирует об успехе или неудаче с помощью кода возврата (exit status). Код возврата 0
означает успех (условие истинно), а ненулевой код возврата означает неудачу (условие ложно).
Мы можем проверить код возврата предыдущей команды, используя специальную переменную $?
.
Проверьте пустой файл:
test -s empty_file.txt
echo $?
Вы должны увидеть вывод 1
, что означает, что условие (файл существует и не пустой) ложно для empty_file.txt
.
Теперь проверьте непустой файл:
test -s non_empty_file.txt
echo $?
Вы должны увидеть вывод 0
, что означает, что условие истинно для non_empty_file.txt
.
Это фундаментальный способ проверки свойств файлов в программировании на оболочке (shell scripting). Вы можете использовать его, чтобы убедиться, что файл содержит данные, прежде чем пытаться обработать его.
Нажмите Продолжить, чтобы продолжить.