Bash – модернизированная командная оболочка shell. Shell – это ранняя командная оболочка UNIX.
Bash может использоваться как интерактивный командный процессор, который вы можете увидеть когда запускаете терминал. Он поддерживает автозавершение имен файлов, команд, переменных и т.д.
Bash имеет ряд встроенных команд, с которыми можно ознакомиться на справочной странице выполнив команду man bash в вашем терминале.
Вот несколько таких команд:
- echo – вывод выражения или содержимого переменной в stdout
- cd – изменяет текущий каталог
- source или . – читает и выполняет команды из переданного файла
и так далее.
Так же вы можете выполнять ваши скрипты передавая в них аргументы снаружи, можете перенаправлять потоки ввода и вывода. Можете объединять вызовы нескольких программ в конвейер (pipeline) с помощью оператора | (pipe). Конвейер передаёт вывод предыдущей команды на ввод следующей или на вход командного интерпретатора.
Пример:
cat filename | grep pattern
Так же тут есть циклы, условные переходы, массивы, переменные и операторы для работы с ними.
Чтобы автоматизировать рутину. Скорей всего вы выполняете множество одних и тех же действий, собираете какие-то файлы из разных папок в одну, потом надо их переименовать, затем собрать в архив. В случае, когда такое надо сделать 1 или 2 раза, то можно сделать это вручную, но что, если это надо делать каждый день десятки раз?
Тут вам придет на помощь знание bash и умение писать скрипты.
В простейшем случае, скрипт — простой список команд, записанный в файл. Командный процессор должен знать, что он должен этот файл обработать, а не просто прочесть его содержимое. Для этого служит специальная конструкция, называемая shebang: #!. Символ # задаёт комментарий, но в данном случае shebang означает, что после этого спецсимвола находится путь к интерпретатору для исполнения сценария.
Примеры:
Таким образом, потратив какое-то время на написание скрипта вы упростите себе жизнь, и сэкономленное время сможете потратить на что-то полезное.
В наше время, мне кажется, всем так или иначе надо уметь писать скрипты, чтобы не тратить время на подобную рутину.
19 декабря 2021 г.