Russian English German Ukrainian

Компьютерная помощь

(066) 72-00-654     (098) 44-74-068

г. Днепр

ж/м Левобережный-3

bash: Что такое командная оболочка и как она работает?

bash — усовершенствованная и модернизированная вариация командной оболочки Bourne shell. Одна из наиболее популярных современных разновидностей командной оболочки UNIX. Особенно популярна в среде Linux, где она часто используется в качестве предустановленной командной оболочки. В Linux можно работать и с двумя другими классическими оболочками, но по умолчанию обычно установлена оболочка bash.

Что же такое оболочка?

Оболочка в первую очередь предназначена для вызова команд и программ Linux. Таким образом, она является своего рода интерпретатором команд. Оболочка выполняется в любом командном окне, например konsole, gnome-terminal, xterm, и в любой текстовой консоли после входа в систему.

В то же время оболочка является мощным языком программирования, с помощью которого можно автоматизировать рабочие процессы. Особые команды позволяют использовать в рамках этой программы переменные, создавать запросы и циклы и т. д.

Получаемые в результате программы, в зависимости от предпочтений автора, называются командными файлами, пакетными файлами, сценариями, процедурами оболочки и т. п. Независимо от названия, речь в данном случае идет о простых текстовых файлах, которые выполняются (интерпретируются) оболочкой.

Как устроены bash-скрипты?

Создайте пустой файл, назовем его myscript (touch myscript или nano myscript). В его первой строке нужно указать, какую именно оболочку мы собираемся использовать. Нас интересует bash, поэтому первая строка файла будет такой:

#!/bin/bash

В других строках этого файла символ решётки используется для обозначения комментариев, которые оболочка не обрабатывает. Однако, первая строка — это особый случай, здесь решётка, за которой следует восклицательный знак (эту последовательность называют шебанг) и путь к bash, указывают системе на то, что сценарий создан именно для bash.

Команды оболочки отделяются знаком перевода строки, комментарии выделяют знаком решётки. Вот как это выглядит:

#!/bin/bash
# This is a comment
pwd
whoami

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

#!/bin/bash
# This is a comment
pwd; whoami; date; df -h

Осталось лишь сделать этот файл исполняемым, иначе, попытавшись его запустить, столкнётесь с ошибкой Permission denied. Сделаем файл исполняемым:

chmod +x ./myscript

Теперь попытаемся его выполнить:

./myscript

Мы можем создать скрипт на любом другом языке программирования и указать нужный интерпретатор, например, на python:

#!/usr/bin/env python
print("Hello world")

Или на PHP:

#!/usr/bin/env php
echo "Hello world";
  • Сборка ПК для дома и офиса

  • Бесплатная диагностика

  • Гарантия

  • Самые низкие цены