Как с помощью Bash быстрее выполнять задачи на компьютере

Разбираемся, как стать эффективнее и освободиться от рутинных задач с помощью Bash.

Bash — это командная оболочка Unix, которая помогает взаимодействовать с операционной системой с помощью простых команд. Чаще всего Bash используется в Linux, но её можно установить и на другие операционные системы.

В Bash встроено большое количество команд, которые сильно упрощают работу с компьютером. Например, команда ls позволяет узнать, какие файлы находятся в текущей директории:

Евгений Кучерявый

Пишет о программировании, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.


Зачем вообще пользоваться терминалом

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

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

Если вы пишете код, то чаще всего вообще не отрываете руки от клавиатуры. Если будете пользоваться графическим интерфейсом, то вам придётся тянуться до мыши, наводить курсор и выполнять другие манипуляции — всё это отнимает время.

Системным администраторам нужен Bash, потому что большинство серверов работают без мониторов и на многих в принципе не установлена оболочка рабочего стола. Тогда удобнее всего подключиться к серверу через SSH и управлять им с помощью команд в терминале. Это делается и для экономии ресурсов.

Однако лучше всего потенциал Bash раскрывается тогда, когда вы пишете на нём скрипты.

Как использовать Bash-скрипты

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

  1. Очистить консоль, чтобы сделать скриншот без лишней информации.
  2. Скомпилировать код.
  3. Запустить программу.
  4. Повторить.

Кажется, что на это уходит не так уж и много времени, но за день всё это скапливается в несколько десятков минут, которые можно потратить на что-то более полезное.

Чтобы не повторять одно и то же каждый раз, я пишу скрипт, который будет делать всё это за меня. Для этого нужно создать файл с расширением .sh и написать команды в нём:

#Очистка терминала
clear

#Компиляция
g++ hello.cpp -o hello

#Запуск программы
./hello

Затем мы помещаем этот файл в папку с исходным кодом и разрешаем запускать его. Сделать это можно в свойствах файла:

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

chmod +rx ./run.sh

Затем остаётся только запустить скрипт:

Чтобы сделать скрипт ещё полезнее, можно использовать переменные (начинаются с $):

#Очистка терминала
clear

#Компиляция
g++ $1.cpp -o $1

#Запуск программы
./$1

Теперь передадим этому скрипту название файла, который нужно скомпилировать и запустить:

./run.sh hello

Этот скрипт стал универсальным, и его достаточно просто скопировать в папки, где он вам нужен. Либо добавить его в PATH — переменную, в которой хранятся данные о категориях с исполнительными файлами. Добавив путь к папке со скриптом в PATH, вы сможете вызывать его из любого места. Для этого откройте файл ~/.bashrc и добавьте в конце следующую команду:

export PATH="$HOME/путь/к/папке/со/скриптом:$PATH"

А потом запустите команду, которая активирует изменения:

source ~/.bashrc

Теперь, когда нужно скомпилировать и выполнить программу, достаточно всего лишь запустить написанный скрипт.

Системные администраторы таким образом создают скрипты, которые почти полностью автоматизируют их рутинные задачи вроде запуска серверов и проведения тестов.

Что ещё есть в Bash

В Bash есть всё, что поможет автоматизировать свои задачи и повысить производительность:

  • условия;
  • циклы;
  • массивы;
  • переменные;
  • математические и логические операции;
  • регулярные выражения;
  • генерация чисел;
  • навигация и многое другое.

Используйте преимущества командной оболочки Bash, чтобы работать продуктивнее. Всем тонкостям, хитростям и возможностям вы можете обучиться на нашем курсе.

Курс

Работа в командной строке Bash


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

Хочешь получать крутые статьи по программированию?
Подпишись на рассылку Skillbox