BASH Программирование

Bash if -e и -s и другие операторы проверки файлов

Bash if -e и -s и другие операторы проверки файлов

При работе с файлами в любой операционной системе пользователь обязательно должен протестировать эти файлы на предмет определенных аспектов, таких как право собственности, права доступа, контент, существование и т. Д. Эти аспекты можно выяснить, связав оператор «if» с различными операторами проверки файлов в Bash. «If -e» и «if -s» - это такие операторы в Bash, которые используются для проверки существования файла. Разница между ними заключается в том, что первый проверяет только наличие файла, тогда как последний также проверяет, есть ли в этом файле какое-либо содержимое или нет. Сегодня мы попытаемся понять использование этих двух операторов, а также нескольких других операторов проверки файлов в Bash.

Примечание. Чтобы продемонстрировать использование операторов проверки файлов в Bash, мы использовали Linux Mint 20.

Примеры использования операторов проверки файлов в Bash

Существуют разные способы использования операторов проверки файлов «if -e» и «if -s». Чтобы объяснить их использование, мы поделимся с вами некоторыми примерами.

Пример использования оператора «if -e»

Для использования оператора «if -e» в Bash необходимо выполнить следующие действия:

Сначала мы создали пустой текстовый файл с именем Test.txt в нашем домашнем каталоге. Затем мы создали файл bash с именем FileTestOperators.sh в том же каталоге. После создания этого файла мы ввели в наш файл сценарий, показанный на следующем изображении. В этом сценарии bash объявлена ​​переменная с именем «файл» и назначен ей текстовый файл с именем Test.txt как его значение. Затем у нас есть оператор «if -e», который выдает «истинный» вывод, если существует какой-либо указанный файл.

Для тестирования нашего скрипта мы запустим его, используя команду, указанную ниже:

$ bash FileTestOperators.ш

В нашем случае, поскольку текстовый файл существует, поэтому вывод нашего скрипта будет истинным, как показано на следующем изображении:

Пример использования оператора «if -s»

Для использования оператора «if -s» в Bash вы должны выполнить шаги, перечисленные ниже:

В этом примере наш сценарий bash такой же, как мы использовали выше. Мы только что изменили оператор «if -e» на «if -s». Также мы использовали тот же пустой текстовый файл Test.текст.

Теперь, когда мы запускаем этот скрипт, вывод будет ложным, потому что оператор «if -s» возвращает истину, если файл существует, а также если он не пуст. Поскольку в нашем случае, хотя файл существовал, он все еще был пуст, поэтому наш вывод оказался ложным, как показано на следующем изображении:

Чтобы сделать этот флаг истинным, мы напишем фиктивный текст в наш текстовый файл, как показано ниже:

Затем мы снова запускаем наш сценарий bash, и на этот раз вывод будет истинным, как показано на следующем изображении, потому что в текстовом файле теперь есть текст.

Примеры использования других операторов проверки файлов

Помимо операторов «if -e» и «if -s», есть и другие операторы проверки файлов. Ниже мы поделимся с вами некоторыми из наиболее важных операторов проверки файлов, помимо тех, которые обсуждались выше.

Пример использования оператора «if -d»

Для использования оператора «if -d» в Bash вы должны выполнить шаги, перечисленные ниже:

В этом примере наш сценарий bash такой же, как мы использовали выше. Мы только что изменили оператор «if -s» на «if -d». Также мы использовали тот же текстовый файл Test.текст.

Оператор «if -d» возвращает истину, если ваш файл является каталогом, в противном случае - ложь. Поскольку наш текстовый файл не был каталогом, вывод будет ложным, как показано на следующем изображении:

Пример использования оператора «if -h»

Для использования оператора «if -h» в Bash необходимо выполнить следующие действия:

В этом примере наш сценарий bash такой же, как мы использовали выше. Мы только что изменили оператор «if -d» на «if -h». Однако на этот раз мы использовали другой файл для тестирования, который фактически являлся символической ссылкой NewBash.ш.

Оператор «if -h» возвращает true, если ваш файл является символьной ссылкой, в противном случае он будет false. Так как наш тестовый файл был символической ссылкой, поэтому вывод будет истинным, как показано на следующем изображении:

Пример использования оператора «if -r»

Для использования оператора «if -r» в Bash вам необходимо выполнить следующие действия:

В этом примере наш сценарий bash такой же, как мы использовали выше. Мы только что изменили оператор «if -h» на «if -r». Также мы использовали тот же текстовый файл Test.текст.

Вывод оператора «if -r» будет истинным, если текущий пользователь может читать файл, в противном случае он будет ложным. Поскольку наш текстовый файл был доступен для чтения, вывод будет истинным, как показано на следующем изображении:

Таким же образом вы можете использовать операторы «if -w» и «if -x», чтобы проверить, является ли файл доступным для записи и исполняемым текущим владельцем, соответственно.

Пример использования оператора «if -O»

Для использования оператора «if -O» в Bash вы должны выполнить шаги, перечисленные ниже:

В этом примере наш сценарий bash такой же, как мы использовали выше. Мы только что изменили оператор «if -r» на «if -O». Также мы использовали тот же текстовый файл Test.текст.

Вывод оператора «if -O» будет истинным, если текущий пользователь владеет файлом, в противном случае он будет ложным. Так как наш текстовый файл принадлежал нам, поэтому вывод будет истинным, как показано на следующем изображении:

Заключение

Эта статья проинформировала читателя об использовании различных операторов проверки файлов в Bash с использованием операционной системы Linux. Используя эти операторы проверки файлов, пользователю становится очень удобно работать с файлами без каких-либо потенциальных трудностей. Есть и другие операторы проверки файлов, которые можно использовать для разных целей. Однако наиболее часто используются те, которые обсуждаются в этой статье.

OpenTTD против Simutrans
Создание собственного транспортного симулятора может быть увлекательным, расслабляющим и чрезвычайно увлекательным занятием. Вот почему вам нужно попр...
Учебник OpenTTD
OpenTTD - одна из самых популярных бизнес-симуляторов. В этой игре вам нужно создать замечательный транспортный бизнес. Тем не менее, вы начнете в нач...
SuperTuxKart для Linux
SuperTuxKart - отличная игра, созданная для того, чтобы бесплатно познакомить вас с Mario Kart в вашей системе Linux. Играть в нее довольно сложно и в...