Програмування BASH

Як перевірити, чи існує файл у bash

Як перевірити, чи існує файл у bash
Існує кілька способів перевірити наявність файлу в Linux. Команда “test” у сценаріях bash є одним із ключових підходів до перевірки існування файлу.
Основна увага в цьому посібнику полягає в обговоренні існування файлу у вашій системі через скрипт bash:

Як перевірити наявність файлів за допомогою скриптів bash:

1) Ввівши ім’я файлу в терміналі:

По-перше, нам потрібно створити файл сценарію bash, використовуючи згадану нижче команду:

$ touch testfile.ш

Назва створеного мною файлу - «testfile.ш ",".sh ”вказує файл сценарію оболонки:

Відкрийте “тестовий файл.sh ”у будь-якому текстовому редакторі. Потім напишіть сценарій, збережіть його, натиснувши “зберегти”.

Одним із способів є пошук файлу, запитуючи ім’я файлу у користувача в терміналі.

Використовуйте “-f”, Щоб перевірити наявність файлу.

Напишіть наведений нижче сценарій:

#!/ bin / bash
echo "Введіть своє ім'я файлу"
прочитати newfile1
якщо [-f "$ newfile1"]
тоді
echo "Файл знайдено"
ще
echo "Файл не знайдений"
fi

Поверніться до терміналу та запустіть файл для друку:

./ ім'я файлу.ш

Повідомлення про заборону дозволу відображатиметься в терміналі.

Зробіть його виконуваним, виконавши згадану нижче команду:

$ chmod + x тестовий файл.ш

Введіть ім'я файлу, і він надрукує вихідні дані:

2) Ввівши ім’я файлу під час написання сценарію:
Ще один спосіб знайти файл, вказавши ім'я файлу під час написання сценарію. У нас є три способи перевірити наявність файлу. Перший використовує команду "test", другий використовує "if" з виразом у квадратних дужках, а третій також має "if", але подвійні квадратні дужки, як зазначено нижче:

  1. “Тест ВИРАЗ."
  2. “Якщо [ВИРАЗ]]
  3. “Якщо [[ВИРАЗ]]”

Давайте розберемося в цьому на прикладах:

1) тест [вираз]
Скопіюйте заданий сценарій і вставте його в редактор, збережіть:

#!/ bin / bash
ім'я файлу = файл1
якщо тест -f "$ filename";
тоді
echo "$ файл знайдено."
ще
echo "$ файл не знайдено"
fi

Вихід:

Оскільки у моєму каталозі такого файлу немає, тому в коді відображається повідомлення «Файл не знайдено».

2) якщо [Вираз]

Скопіюйте наступний сценарій, щоб перевірити, чи існує файл чи ні:

#!/ bin / bash
ім'я файлу = myfile.txt
якщо [-f "$ filename"];
тоді
echo "$ filename знайдено."
ще
echo "ім'я файлу не знайдено"
fi

Вихід:

3) якщо [[Вираз]]

Скопіюйте написаний нижче сценарій і вставте його в термінал:

#!/ bin / bash
ім'я файлу = тестовий файл
якщо [[-f "$ filename"]];
тоді
echo "$ filename знайдено."
ще
echo "$ filename не знайдено"
fi

Вихід:

Щоб перевірити каталог:

3) Ввівши назву каталогу під час написання сценарію

Використовувати "-dПрапор для перевірки існування каталогу.

У згаданому нижче сценарії "dir11" - це змінна, в якій ви зберігаєте файл, який ви знаходите; у цьому прикладі я хочу перевірити, що назва каталогу “testDir” існує чи ні.

#!/ bin / bash
dir11 = testDir
якщо [-d "$ dir11"]
тоді
echo "Каталог знайдений"
ще
echo "Каталог не знайдений"
fi

Вихід:

2) Ввівши ім’я файлу в терміналі:
Коли ви запускаєте команду в терміналі, щоб перевірити, чи існує каталог чи ні, вам потрібно ввести ім'я каталогу, яке ви шукаєте:

#!/ bin / bash
echo "введіть назву каталогу."
прочитати Dir1
if [-d "Dir1"]
тоді
echo "каталог знайдений"
ще
echo "каталог не знайдено"
fi

Вихід:

Перевірка файлу без використання оператора “if”:

Команда “test” може бути виконана без оператора “if”. Він буде відображати вихід, лише якщо файл існує; інакше не було б результату:

Написати сценарій:

  1. тест -f myfile.txt && echo "файл знайдено"

  2. [-f myfile.txt] && echo "$ файл знайдено."

  3. [[-f myfile.txt]] && echo "Файл $ знайдено."

Вихід:

Перевірка каталогу без використання оператора “if”:

Використовуйте наведені нижче заяви, щоб перевірити, чи існує каталог чи ні:

  1. [[-d testDir]] && echo "каталог справді існує"

  2. 2) [-d testDir] && echo "каталог справді існує"

Вихід:

Перевірка декількох файлів / каталогів:

1) Перевірка декількох файлів із твердженнями “якщо”:
Використовуйте прапор “-a”, щоб перевірити існування різних файлів, замість того, щоб використовувати вкладені оператори “if / else”:

#!/ bin / bash
якщо [-f новий_файл.txt -a -f новий файл.txt]; тоді
echo "Обидва файли існують."
fi

Інший спосіб:

#!/ bin / bash
якщо [[-f новий_файл.txt && -f новий файл.txt]]; тоді
echo "Обидва файли існують."
fi

Вихід:

2) Перевірка декількох файлів без використання оператора “якщо”:
Використовуйте наступне твердження для одночасної перевірки декількох файлів 1 без використання “якщо”:

  1. [[-f новий_файл.txt && -f новий файл.txt]] && echo “Обидва файли закриваються."

  2. [[-f новий_файл.txt && -f новий файл.txt]] && echo “Обидва файли закриваються."

Вихід:

Висновок:

У цій статті показано, як використовувати скрипт bash для перевірки файлу або каталогу. Ми використовували різні варіанти, щоб перевірити наявність файлу. По-перше, ми використовуємо команду “test” з різними прапорцями. Потім ми вивчили використання “if”, вкладене “if-else” та без операторів “if” для перевірки файлу чи каталогу. Ми також розглянули, як перевірити кілька файлів або каталогів.

Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...
0 A.D. Tutorial
Out of the many strategy games out there, 0 A.D. manages to stand out as a comprehensive title and a very deep, tactical game despite being open sourc...
Unity3D Tutorial
Introduction to Unity 3D Unity 3D is a powerful game development engine. It is cross platform that is it allows you to create games for mobile, web, d...