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

Bash, ако -e и -s и други оператори за тестване на файлове

Bash, ако -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“, който извежда „true“ изход, ако съществува определен файл.

За да тестваме нашия скрипт, ще го стартираме с помощта на командата, посочена по-долу:

$ bash FileTestOperators.ш

В нашия случай, тъй като текстовият файл съществува, ето защо изходът на нашия скрипт ще бъде верен, както е показано на следващото изображение:

Пример за използване на оператор “if -s”

За да използвате оператора „if -s“ в Bash, трябва да изпълните стъпките, изброени по-долу:

В този пример нашият bash скрипт е същият, който използвахме по-горе. Току-що сме сменили изявлението „if -e“ на „if -s“. Също така използвахме същия празен текстов файл Test.текст.

Сега, когато стартираме този скрипт, изходът ще бъде false, тъй като операторът „if -s“ връща true, ако съществува файл, а също и ако не е празен. Тъй като в нашия случай, въпреки че файлът съществуваше, той все още беше празен, поради което изходът ни се оказа невярен, както е показано на следното изображение:

За да направим този флаг истина, ще напишем фиктивен текст в нашия текстов файл, както е показано по-долу:

След това отново пускаме нашия скрипт bash и този път изходът ще бъде истина, както е показано на следващото изображение, защото текстовият файл има малко текст в него сега.

Примери за използване на други оператори за тестване на файлове

Освен операторите „if -e“ и „if -s“, има и други оператори за тестване на файлове. По-долу ще споделим с вас някои от най-важните оператори за тестване на файлове, различни от тези, които са разгледани по-горе.

Пример за използване на оператор “if -d”

За да използвате оператора „if -d“ в Bash, трябва да изпълните стъпките, изброени по-долу:

В този пример нашият bash скрипт е същият, който използвахме по-горе. Току-що сме сменили изявлението „if -s“ на „if -d“. Също така използвахме същия текстов файл Test.текст.

Операторът “if -d” връща true, ако файлът ви е директория, в противен случай ще бъде false. Тъй като нашият текстов файл не е директория, изходът ще бъде фалшив, както е показано на следното изображение:

Пример за използване на оператор “if -h”

За да използвате оператора „if -h“ в Bash, трябва да изпълните следните стъпки:

В този пример нашият bash скрипт е същият, който използвахме по-горе. Току-що сме променили израза „if -d“ на „if -h“. Този път обаче използвахме различен файл за тестване, който всъщност беше символична връзка с име NewBash.ш.

Операторът „if -h“ връща true, ако файлът ви е символична връзка, в противен случай ще бъде невярно. Тъй като нашият тестов файл беше символна връзка, изходът ще бъде верен, както е показано на следващото изображение:

Пример за използване на оператор “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. Използвайки тези оператори за тестване на файлове, става много удобно за потребителя да работи с файлове без никакви потенциални затруднения. Има и някои други файлови тестови оператори, които могат да се използват за различни цели. Въпреки това, тези, които са разгледани в тази статия, са най-често използвани.

Как да увеличите FPS в Linux?
FPS означава Кадри в секунда. Задачата на FPS е да измерва честотата на кадрите при възпроизвеждане на видео или игрални изпълнения. С прости думи бро...
Топ Oculus App Lab Games
Ако сте собственик на слушалки на Oculus, тогава трябва да знаете за странично зареждане. Sideloading е процесът на инсталиране на несъхранявано съдър...
Топ 10 игри за игра на Ubuntu
Платформата на Windows е една от доминиращите платформи за игри поради огромния процент игри, които се развиват днес, за да поддържат Windows. Може ли...