Исполняемый bash скрипт в ubuntu

Очень часто приходится сталкиваться с тем, что необходимо выполнить из консоли определенную команду или набор команд, но заново набирать их в терминале очень лень или просто не помнится что же надо набрать, приходится сидеть и щелкай стрелкой в верх для того чтобы прокрутить историю и найти нужную команду, лично у меня это занимает довольно продолжительное время, так как я очень люблю делать все из под консоли нежели в GUI. Так как быть в этой ситуации? Все очень просто! Нужно создать исполняемый bash скрипт и пользоваться им. Для примера возьмем доступ по SSH.
Итак, первым делом создаем наш будущий исполняемый файл. Это можно сделать двумя способами, либо

$ touch script

либо

$ nano script

В первом случае создастся пустой файл с именем script, во втором текстовый редактор nano создаст его и сразу же откроет для редактирования, я считаю лучше использовать сразу же второй метод.
После открытия скрипта пишем:

#!/bin/bash
ssh username@hostname -p 1234

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

$ bash script

Но это не удобно так как много лишних символов без которых можно успешно обойтись.
А сделать это можно изменив тип файла на исполняемый

chmod +x script

Ключ +x указывает на то что скрипт необходимо разрешить на исполнение
Ну что же вот в принципе и все, запускаем наш скрипт

./script

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

3 комментария к “Исполняемый bash скрипт в ubuntu

  1. в крон если пихать что то вроде:
    #bin/sh
    ssh user@server «mysqldump -u$user -p$password $dbname —lock-all-tables —quick | gzip -c» | gzip -d > db.sql

    в итоге на локальном создаётся просто файл пустого дампа ! выходит нет подключения по ssh если пихать исполняемый скрипт в крон ???

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.