Ваш первый Bash-скрипт

Введение в Bash-скриптинг

Alex Scriven

Data Scientist

Структура Bash-скрипта

Bash-скрипт имеет несколько ключевых особенностей:

  • Обычно начинается с #!/usr/bash (на отдельной строке)
    • Это указывает интерпретатору, что перед ним Bash-скрипт, и задаёт путь к Bash: /usr/bash
    • Путь может отличаться, если Bash установлен в другом месте, например /bin/bash (проверьте командой which bash)
  • Остальные строки содержат код
    • Это могут быть команды или программные конструкции
Введение в Bash-скриптинг

Структура Bash-скрипта

Сохранение и запуск:

  • Файл имеет расширение .sh
    • Технически оно не обязательно, если первая строка содержит шебанг и путь к Bash (#!/usr/bash), но это принято по соглашению
  • Запуск в терминале: bash script_name.sh
    • Если указана первая строка (#!/usr/bash), можно запустить просто: ./script_name.sh
Введение в Bash-скриптинг

Пример Bash-скрипта

Пример полного скрипта (файл eg.sh):

#!/usr/bash
echo "Hello world"
echo "Goodbye world"

Запустить его можно командой ./eg.sh; вывод будет таким:

Hello world
Goodbye world
Введение в Bash-скриптинг

Bash и команды оболочки

Каждая строка Bash-скрипта может быть командой оболочки.

Поэтому в скриптах можно использовать и конвейеры.

Рассмотрим текстовый файл (animals.txt)

magpie, bird
emu, bird
kangaroo, marsupial
wallaby, marsupial
shark, fish

Нужно подсчитать количество животных в каждой группе.

Введение в Bash-скриптинг

Bash и команды оболочки

В оболочке можно ввести составную команду прямо в терминале. Но лучше поместим её в скрипт (group.sh):

#!/usr/bash
cat animals.txt | cut -d " " -f 2 | sort | uniq -c

Теперь после сохранения скрипта команда bash group.sh выведет:

   2 bird
   1 fish
   2 marsupial
Введение в Bash-скриптинг

Давайте потренируемся!

Введение в Bash-скриптинг

Preparing Video For Download...