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

Bash

Что такое Bash?

Bash — это оболочка: читает команду, запускает программу и пишет результат на экран. Терминал — окно. Bash — язык внутри него. В Ubuntu оболочка по умолчанию обычно Bash. В macOS долго был Bash, теперь часто zsh. Большинство команд в обеих похожи.

Для чего нужен Bash?

Bash нужен, чтобы найти файл, поставить программу и повторить одну команду. Его же видишь, когда входишь на сервер по SSH.

  • Видеть файлы в папке
  • Ставить пакет через apt
  • Держать несколько команд в одном скрипте
  • Проверять Nginx или Docker

Что можно делать с Bash?

В Bash переименовывают, копируют файл, ищут текст и передают вывод одной программы в другую. Скрипт делает ту же работу в том же порядке каждый раз. Писать оконную программу — не его дело.

Сложно ли освоить Bash?

Написать одну команду легко. Трудность в пробеле, кавычке и праве. Если в имени файла есть пробел, команда без кавычек считает его двумя файлами. sudo не нужен в каждой строке. Его ставят на команду, которая меняет систему.

Плюсы и ограничения

Плюс: одну работу не повторяешь руками и работаешь на сервере без окна. Ограничение: скрипт может найти другую команду на другом компьютере. Команда удаления не отменяется. Сначала проверь имя, потом удаляй.

Основные понятия

Команда, аргумент и флаг — три части. Знак | отдаёт результат одной команды следующей.

  • pwd показывает текущую папку
  • ls перечисляет файлы
  • cd переходит в папку
  • echo пишет текст

Короткий пример

Эти две строки хранят имя и пишут его на экран. Если файл будет скриптом, первая строка часто #!/usr/bin/env bash.

name="Nibras"
echo "Hello, $name"

Частые вопросы

  • Терминал и Bash — одно и то же? Нет. Терминал — окно. Bash — командный язык внутри.
  • Каждая команда Linux — это Bash? Нет. ls и apt — отдельные программы. Bash их запускает.
  • Bash пишет сайт? Нет. Он для установки и проверки, не для самой страницы.