Як написати й запустити перший Bash-скрипт
Створіть Bash-скрипт, перевірте синтаксис, дозвольте запуск і зрозумійте різницю між bash script.sh та ./script.sh.
Почати інтерактивний урокBash-скрипт — це текстовий файл із командами, які Bash виконує послідовно. Збережіть shebang і команду у script.sh, перевірте синтаксис, надайте право виконання та запустіть ./script.sh. Для діагностики також корисна форма bash script.sh. У уроці про перший скрипт цей процес можна безпечно відпрацювати.
Збережіть shebang і видиму команду
Створіть script.sh із двома рядками:
#!/usr/bin/env bash
printf '%s\n' 'Hello World'
Під час прямого запуску shebang просить систему знайти bash у поточному шляху пошуку команд. #!/bin/bash також поширений, якщо Bash справді встановлений саме там.
Перегляньте файл:
cat script.sh
Так можна знайти порожній файл, неправильну назву або збереження в іншій папці. Якщо файл створено у Windows, перевірте закінчення рядків LF: прихований CR може спричинити «bad interpreter».
Перевірте синтаксис без виконання
bash -n script.sh
Відсутність виводу означає лише те, що Bash не знайшов синтаксичної помилки. Шляхи, дозволи й правильність результату не перевіряються.
Надайте право виконання
chmod u+x script.sh
Перевірте дозвіл:
ls -l script.sh
У трійці дозволів власника має з’явитися x. chmod змінює режим файла, а не його вміст.
Розрізняйте два способи запуску
Запустіть виконуваний файл із поточної папки:
./script.sh
Префікс ./ задає шлях. Більшість оболонок не шукають команди в поточній папці автоматично.
Або явно передайте файл Bash:
bash script.sh
Тут файл має бути доступним для читання, але право виконання не потрібне. Bash читає вміст незалежно від shebang, тому можна відокремити помилку читання чи синтаксису від проблеми прямого запуску.
Діагностуйте фактичне повідомлення
- No such file or directory: перевірте папку й назву через pwd та ls.
- Permission denied: перевірте право виконання, власника, дозволи папки та параметри монтування.
- Bad interpreter: перевірте шлях у shebang і закінчення рядків.
- Syntax error: виконайте bash -n script.sh і перегляньте вказаний рядок.
- Неочікуваний вивід: виконайте кожну команду окремо з тими самими даними.
Далі прочитайте про змінні Bash, функції або безпечніший скрипт резервного копіювання. Докладніше запуск описано в довідці GNU Bash.
Посилання
Ці посилання на документацію надають авторитетну інформацію про команди, використані в цій статті.
Далі
Створіть Bash-резервну копію, що перевіряє джерело, не перезаписує архів, видаляє частковий файл і перевіряє tar.