Консультация Oblako.kz

Bash - что это такое и как пользоваться

Bash - это одна из самых известных командных оболочек Linux. Она позволяет выполнять различные команды ОС, а также наборы команд, оформленные в виде файлов, так называемые скрипты или сценарии. С помощью bash можно реализовывать конструкции циклов и ветвлений (for и if), перенаправлять ввод-вывод в файлы, считывать параметры из файлов, с клавиатуры, использовать переменные и т.д.

Для того чтобы выполнить команду ОС достаточно просто ввести ее в окне bash. Например:

  • pwd - вывод текущего каталога
  • ls - вывод списка файлов в текущем каталоге.

У большинства команд есть аргументы, например:

  • cd \etc\sysconfig - перейти в каталог \etc\sysconfig,
  • ls \home - вывести список файлов в каталоге \home.

Также у команд есть ключи, меняющие поведение или отображение результатов команд:

  • ls -1 \home - выводит имена файлов и папок в каталоге \home списком
  • ls -l \home - выводит подробную информацию от каждом файле и папке в каталоге \home

Параметры и ключи каждой команды можно посмотреть используя справочную систему man, то есть чтобы посмотреть аргументы и ключи команды cp достаточно набрать man cp и т.д.

Также можно объединять команды в последовательность действий, так называемые скрипты или сценарии.

Рассмотрим, например, скрипт проверяющий строку на совпадение с ранее заданной строкой и количество символов в ней. Для создания скрипта создайте пустой файл. Для создания файла можно использовать команду touch <полный путь к файлу>, например так:

touch /home/user/script1.sh

Расширение у скрипта может быть любое, но рекомендуемый стандарт *.sh (SHell script).

Поместите в него нижеприведенные строки. Построчно поясню что означают те или иные строки. Комментарии и директивы процессора начинаются с символа # и идут до конца строки.

Любой скрипт начинается со строки #!/bin/bash - это позволяет понять ОС какой командный интерпретатор использовать. В нашем случае это bash.


#!/bin/bash
#Зададим значения переменных “code” и “string”. String - пустая строка.
code='4567'
string=''”
#Вывод фразы 'введите проверочный код: ' ключ -n запрещает переход на новую строку.
echo -n 'введите проверочный код: '
#Ожидание ввода значения с клавиатуры и помещение  результата в переменную “string”
read string
#Проверка условия на количество введенных букв в строке.
if [[ -n $string ]]; then
    #вложенная проверка условия на совпадение введенной строки со значением
    #в переменной code 
    if [[ $code = $string ]]; then
        echo 'проверочный код совпал'
    else
        echo 'код не прошел проверку'
    fi
else
    echo 'слишком короткий код'
fi

Теперь дадим этому скрипту права на исполнение используя команду chmod

chmod +x /home/user/script1.sh

Теперь этот скрипт можно запускать, вставлять в планировщик cron, в другие скрипты и т.д. Например нижеприведенная команда выполнит данный скрипт.

./home/user/script1.sh
Последнее обновление: 07.12.2018