Наверное, никто никогда не будет спорить с тем, что успешный человек сильно дорожит своим временем. В какой области он бы ни работал и кем бы он ни был, его дело в большей степени зависит от того, сколько времени у него есть и сколько он готов времени тратить на реализацию задуманного.
Так вот. Если мы решили заняться чем-то серьезно (а мы хотим быть специалистами в области IT), мы всегда должны думать о том как сократить время, которое затрачиваем. Ну, а если мы не только думаем, а ещё и реализовываем это, то наш потенциал становится гораздо ВЫШЕ.
На сегодняшний день, конечно, автоматизация — главный двигатель прогресса. Различные устройства, машины, ПО давно уже эффективно служат людям, выполняя как общие, так и индивидуальные задачи. Однако, не каждый может позволить себе такое удовольствие — любая автоматизация требует денежных или трудовых затрат. Если у вас есть деньги — вы можете заказать себе всё что угодно и в любом исполнении, если нет — надо потрудиться.
Умение писать скрипты весьма полезно и необходимо для деятельности многих IT-специалистов. В этом нет сомнения. И поэтому сегодня мы познакомимся с написанием скриптов в Linux.

Итак. Скрипт (англ. script) — это сценарий, по которому выполняются действия системой. Своего рода программа, имеющая дело с другими программами и их компонентами. Сценарий позволяет автоматизировать пользовательскую работу в системе.
В Linux писать скрипты невероятно удобно и просто — стоит только разобраться и всё: больше вы не захотите выполнять без скриптов повседневные рутинные дела.
Для написания нам понадобиться любая ОС Linux (у нас это будет BackBox) и желание (куда ж без него то).
В качестве примера будем автоматизировать настройку подключения по SSH сертификатам, которую мы рассмотрели в прошлой статье.
Начнем с. Заходим в консоль нашей системы. Вводим:
# nano autossh.sh (*выбор текстового редактора зависит от предпочтений, мы же выбрали nano)
И у нас открывается текстовый редактор, обрабатывающий ещё не сохраненный в файловой системе файл с именем autossh.sh (название может быть любое, но на конце скрипта всегда должен быть указан формат .sh). В самом начале любого скрипта мы всегда прописываем строку, сообщающую системе какой интерпретатор будет использоваться для выполнения кода:
#! /bin/bash
Далее пропишем команду, которая будет выводить заданное нами сообщение на определенном моменте выполнения скрипта:
echo «NEW CONNECTION»
Такие сообщения рекомендуется всегда ставить перед командами, дабы можно было наблюдать за ходом выполнения скрипта (это особенно полезно при поиске ошибок).
Выделим место в памяти для переменных: одна будет запоминать IP-адрес, другая — имя пользователя, под которым будем подключаться на удаленный сервер:
ip=$1
name=$2
Затем добавим команды, которые по-очереди считают введенные нами данные и добавят их в указанные переменные:
read ip
read name
Укажем на проверку связи с сервером:
ping -c 2 $ip
Теперь добавим генерацию ключей:
ssh-keygen -t ed25519 -f /root/.ssh/id_ed25519
Отправка публичного ключа серверу:
ssh-copy-id -i /root/.ssh/id_ed25519.pub $name@$ip
Добавление приватного ключа:
ssh-add /root/.ssh/id_ed25519
(*Необходимо отметить, что скрипты могут быть гораздо больше чем написанный нами, а также могут содержать огромное множество переменный, функций, команд. Для облегчения работы с подобным активно пользуются комментариями. Строка комментария в Linux начинается с #. *)
Подключение к серверу:
ssh $name@$ip -v «
В конечном итоге выглядит это так:

После записи всего изложенного мы должны сохранить файл, выйти из редактора и присвоить право исполнения нашему файлу командой:
# chmod +x autossh.sh
Всё, теперь можем проверить работу скрипта:
# ./autossh.sh
(*вместо «./» можно также использовать bash:
# bash autossh.sh *)
Вот мы и создали скрипт, который в будущем будет экономить наше время, а кроме того мы всегда сможем заглянуть в него и вспомнить нужные нам команды. В следующих статьях мы также углубим свои знания в управлении временем.
Спасибо, очень полезная статья!
СПАСИБО ОЧЕНЬ ПОДРОБНО И ПРОСТО