- Как создать скрипт команды Linux
- Создание скрипта команды Linux
- Как создать скрипт последней выполненной команды?
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Учимся писать базовые скрипты в Unix и Linux
- Идентификация оболочки.
- Выбор оболочки
- Выполнение команд
- Добавление комментариев
- Делаем файл исполняемым
- Использование команды if
- Понятие переменных
- Запрос пользователя на ввод данных
- Использование аргументов командной строки
- Различные способы создания циклов
- Использование оператора case
- Реакция на ошибки
- Как: как создать свою собственную команду в Linux
- Как создать пользовательские команды в Linux
- Шаг 1. Откройте файл в текстовом редакторе с помощью имени files
- Шаг 2: Назначьте правильные разрешения для нашего скрипта
- Шаг 3: Указание путей к нашему скрипту
- Способ 1. Вручную укажите полное местоположение
- Способ 2. Добавить «Текущий каталог» в переменную PATH
- Способ 3: добавьте файл в существующий пункт назначения $PATH (рекомендуется)
Как создать скрипт команды Linux
Вы можете просто запустить скрипт, чтобы легко получить вывод длинной и сложной команды.
Я уже выполняю несколько методов, чтобы запомнить команды Linux.
Мы можем вспомнить забытые команды с помощью команды apropos или закладки часто используемых команд или сохранить важные команды в вашем терминале, чтобы мы могли использовать их по требованию.
Существует много способов
Если вам интересно, как создать скрипт команды Linux, читайте дальше. Это не так сложно, как вы думаете.
Создание скрипта команды Linux
Скажем, мы запускаем следующую команду для сортировки в алфавитном порядке файла с именем ostechnix.txt и отображения вывода в одной строке:
Я не знаю как у вас, но у меня ужасная память.
Независимо от того, сколько раз я запускаю эту команду в день, я в конце концов забуду ее на следующий день или на следующий день после следующего дня.
Конечно, мы можем сделать обратный поиск и вывести эту команду из истории Bash или следовать любому из методов по поиску.
Но я также хотел бы изучить другие альтернативные методы. В
от почему я решил создать скрипт команды Linux.
Таким образом, я могу назвать сценарий по своему усмотрению и запустить его, не имея при этом цельной команды каждый раз.
Создайте файл script.sh и поместите в него свою команду.
Или вы можете сделать это как однострочный вариант, как показано ниже:
И затем сделайте скрипт исполняемым. Готово!
Например, я создал скрипт вышеупомянутой длинной команды, как показано ниже.
Сделайте исполняемый файл сценария:
Наконец, выполните следующую команду для выполнения вашей команды Linux:
Довольно легко, не так ли?
Вы можете выбрать легко запоминающееся имя по вашему сценарию.
Вариант использования может отличаться для вас.
Кроме того, вы можете переместить скрипт в свой PATH (пример. / Usr / bin / или любой ваш PATH), поэтому все пользователи могут использовать это без ввода исходного имени пути.
Как создать скрипт последней выполненной команды?
Помните, что мы используем «!!», чтобы повторить последнюю команду?
Следовательно, команда будет:
Помните, что при использовании «!!».
Дважды проверьте свою последнюю команду перед ее запуском.
Источник
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Учимся писать базовые скрипты в Unix и Linux
Если вы еще не умеете писать скрипты в системах Unix и Linux, эта статья познакомит с основами написания скриптов.
Написание скриптов в системе Unix или Linux может быть одновременно и простым и чрезвычайно сложным. Все зависит от того, что вы пытаетесь выполнить, используя скрипт. В этой статье мы рассмотрим основы создания скриптов — то, как начать, если вы никогда раньше не создавали скрипты.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Идентификация оболочки.
Сегодня в системах Unix и Linux есть несколько оболочек, которые вы можете использовать. Каждая оболочка — это интерпретатор команд. Он считывает команды и отправляет их ядру для обработки.
Bash является одной из самых популярных оболочек, но существуют также zsh , csh , tcsh и korn . Есть даже оболочка под названием fish , которая может быть особенно полезна новичкам в Linux благодаря полезным параметрам автозаполнения команд. Чтобы определить, какую оболочку вы используете, используйте эту команду:
Вы также можете определить свою основную оболочку, просмотрев файл /etc/passwd :
Один из способов определить, какие оболочки доступны в системе Linux, — это проверить файл /etc/shells .
На выводе видно, что доступно всего девять оболочек.
Какую оболочку выбрать пользователю во многом зависит от того, что он привык использовать, поскольку большая часть синтаксиса в скриптах не представляет команды, которые вы найдете в /bin , /us /bin или /usr/local/bin . Вместо этого они являются частью самой оболочки и называются «встроенными». Сюда входят команды, используемые для цикла (например, for и while ).
Один из простых вариантов создания скриптов — использовать ту оболочку, которую вы используете в командной строке, поскольку, в конце концов, вам будет более или менее комфортно ее пользоваться.
Выбор оболочки
Чтобы определить, какая из доступных оболочек будет выполнять команды вашего скрипта, в первой строке вашего скрипта пропишите одну из строчек, приведенных ниже:
Когда первая строка вашего скрипта идентифицирует оболочку, которая будет использоваться, эта оболочка будет выполнять команды в скрипте. Если вы не определите оболочку в первой строке в скрипте, то оболочка, которую вы используете при вызове сценария, будет той, которая его запускает.
Выполнение команд
Любую команду, которую вы запускаете в командной строке Linux, можно запустить в скрипте, если он совместим с указанной оболочкой. Используйте свой любимый текстовый редактор и вводите нужные для исполнения команды. Вот очень простой скрипт, который выводит текущую дату в формате день-месяц-год. Скрипт имеет название today .
Чтобы запустить этот скрипт, выполните команду:
Добавление комментариев
Рекомендуется добавлять к скриптам комментарии, объясняющие, для чего предназначен скрипт, особенно если скрипт длинный или имеется сложный синтаксис. Просто начните комментарий со знака # . Комментарии могут быть отдельными строками или добавляться в конец команд в скрипте. Например:
Делаем файл исполняемым
Чтобы сделать скрипт исполняемым, используйте команду chmod и убедитесь, что предполагаемые пользователи могут его запустить. Например:
Если скрипт не сделан как исполняемый, его все равно можно запустить с помощью символа . Это встроенная функция, которая «выполняет» (т. е. читает и запускает) скрипт.
Использование команды if
Команда if позволяет вам проверять условия или переменные. В примере ниже мы проверяем, запускается ли скрипт в пятницу.
Базовый синтаксис команды if — if value == other_value . Знак == выполняет сравнение, и необходимо убедиться, что оболочка видит по одному значению с каждой стороны оператора сравнения. По этой причине часто приходится заключать свои строки в кавычки.
Понятие переменных
Чтобы разобраться в понятии переменной важно понимать, что переменные назначаются одним способом, а на них ссылаются другим. Назначьте переменной только ее имя, но перед именем поставьте знак $ , чтобы ссылаться на нее.
Запрос пользователя на ввод данных
Чтобы пользователь, во время исполнения скрипта, смог ввести некоторую информацию, вам необходимо вывести как подсказку, так и команду, чтобы прочитать, что вводит пользователь. Вы также должны присвоить переменной имя, которое имеет смысловое значение, как в этом примере. Обратите внимание, что использование команды echo -n означает, что пользователь вводит свой ответ в той же строке, что и приглашение.
Человек, запускающий сценарий, увидит приглашение и введет ответ :
Использование аргументов командной строки
Чтобы использовать аргументы, которые пользователь вводит вместе с именем скрипта, необходимо знать, как их идентифицировать. Аргументам скрипта будут присвоены имена $1 , $2 и так далее. Для любого аргумента, который вы собираетесь использовать неоднократно, вы можете рассмотреть возможность присвоения этих значений более значимым именам переменных.
В этом случае мы проверяем, является ли первый предоставленный аргумент числовым, и закрываем скрипт, если это не так. Если ответ — число, то далее назначаем его переменной $loops , чтобы использовать позже в скрипте.
Еще одна полезная вещь, которую нужно сделать в скрипте, — это сначала проверить наличие аргументов. В противном случае синтаксис, подобный показанному выше, не сработает, потому что оболочка увидит выражение if [[! = 9 *]]; , что приведет к синтаксической ошибке.
Чтобы проверить правильность количества предоставленных аргументов, вы можете использовать синтаксис, подобный приведенному ниже, который проверяет, были ли предоставлены по крайней мере два аргумента, и, в противном случае, напоминает пользователю, что требуется как количество строк, так и имя файла:
Различные способы создания циклов
Есть несколько способов сделать цикл внутри скрипта. Используйте for , если вы хотите повторить действие заданное количество раз. Например:
Используйте while , если хотите выполнять какое-то действие, пока условие существует или не существует.
Использование оператора case
Операторы case позволяют вашим скриптам реагировать по-разному в зависимости от того, какие значения проверяются. В приведенном ниже скрипте используются разные команды для извлечения содержимого файла, предоставленного в качестве аргумента, путем определения типа файла.
Обратите внимание, что этот сценарий также запрашивает имя файла, если оно не было предоставлено, а затем проверяет, действительно ли указанный файл существует. Только после этого выполняется извлечение.
Реакция на ошибки
Вы можете обнаруживать ошибки в скриптах и реагировать на них и тем самым избегать других ошибок. Хитрость заключается в том, чтобы проверять выходные коды после запуска команд. Если код выхода имеет значение, отличное от нуля, произошла ошибка. В этом скрипте проверяется, запущен ли Apache, но отправляем результат проверки в /dev/null . Затем проверяем, не равен ли код выхода нулю, поскольку это означает, что команда ps не получила ответа. Если код выхода не равен нулю, сценарий сообщает пользователю, что Apache не запущен.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Источник
Как: как создать свою собственную команду в Linux
Мы всегда говорим о командах для запуска в Linux CLI, консолях, эмуляторах терминалов и т. Д. Но на этот раз мы представляем вам немного другое руководство, это мини-руководство, чтобы научить создать нашу собственную команду Linux. Да, как вы слышите, легко и просто мы можем создать наш собственный инструмент и вызвать его из консоли Linux, чтобы запустить его и насладиться им. Для этого у нас есть разные варианты, поскольку мы можем использовать разные языки программирования для его создания, хотя в нашем примере мы просто сосредоточимся на сценариях оболочки для Bash.
Процедура создания программы или команды требует следующие шаги:
- Напишите код нашего инструмента. Если вы уже знаете, что вам нужно или чего вы хотите, напишите исходный код вашего инструмента, каким бы он ни был и на каком бы языке вы ни выбрали. Например, вы можете сделать это на C, Python, Perl или как скрипт для Bash.
- Скомпилируйте наш исходный код для создания исполняемого файла. Например, если он написан на C или C ++ и т. Д., Вы можете легко сделать это с помощью компилятора gcc. Если это интерпретируемый язык, такой как Python, Perl, Ruby и т. Д., Нам нужно будет установить его интерпретатор и сделать файл с исходным кодом исполняемым. Это также относится к сценарию для Bash, в этом случае интерпретатором является сам Bash, и чтобы сделать его исполняемым, мы можем использовать: chmod + x script_name.sh
- После компиляции или у нас есть исполняемый файл, копируем или перемещаем в маршрут включен в переменную окружения $ PATH, например / usr / bin. Вы можете увидеть пути с помощью echo $ PATH. При этом мы можем выполнить его, просто введя его имя, и нам не нужно будет указывать абсолютный путь.
Как только это будет сделано, наша команда будет готова к выполнению . вы можете написать ее имя, и она будет выполнена.
Например, чтобы вы поняли, я поставлю практический пример:
- Шаг 1: мы собираемся написать код, в данном случае простой сценарий bash, для этого откройте любимый текстовый редактор и напишите следующий код (или код вашего сценария):
- Шаг 2: сохраняем текстовый файл, и в моем случае я назову его «привет». И теперь я делаю его исполняемым;:
- Шаг 3: теперь пришло время переместить его по известному пути, чтобы он не всегда находился в каталоге, в котором он размещен, или указать абсолютный путь для его выполнения .
И теперь мы можем запустить его с помощью простого:
И в этом случае вы должны увидеть на экране простое сообщение «Привет, мир«
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Любители Linux » GNU / Linux » Системное администрирование » Как: как создать свою собственную команду в Linux
Источник
Как создать пользовательские команды в Linux
Главное меню » Операционная система Linux » Как создать пользовательские команды в Linux
Это дает нам следующий результат:
Все идет нормально. Но что, если вы хотите часто использовать эту команду? Трудно запомнить это письмо для письма, его нелегко напечатать, и он слишком длительный. Теперь добавьте десятки других команд с похожими (или большими) уровнями сложности, и легко увидеть, что нам нужно новое решение.
Шаг 1. Откройте файл в текстовом редакторе с помощью имени files
Предположим, мы хотим назвать нашу новую команду «files». Мы создаем новый файл с именем «files», используя текстовый редактор «vi», указав следующую команду:
Эта команда откроет базовый редактор, в котором вы можете ввести текст. По умолчанию он будет находиться в режиме «чтения», и вы не сможете добавить новый текст. Измените это, чтобы вставить режим, нажав клавишу «Вставить» на клавиатуре.
Теперь скопируйте и вставьте следующий текст. Вы можете быстро вставить его в терминал, щелкнув его правой кнопкой мыши.
Как вы можете видеть, это вставляется в vi, когда включен режим «INSERT»:
Это называется «скриптом», и он состоит из трех частей:
- Он начинается со слов “#!/bin/bash”
- Строки, начинающиеся с hashtag (#), являются комментариями
- Остальные команды. Заменяют третью строку сложной командой, которую вы хотите упростить
Теперь выйдите из режима «Вставки», нажав клавишу «Esc». Сохраните файл, нажав Shift + Z + Z (Удерживая клавишу shift, нажмите «z» два раза).
Теперь файл сохранится в текущей папке. Вы можете отобразить его содержимое, введя:
Это дает следующий результат:
Шаг 2: Назначьте правильные разрешения для нашего скрипта
Если мы просто перечислим файлы в каталоге, вы увидите, что наш новый файл является одним из них.
Однако это обычный файл, а не тот, который может быть выполнен. Команда «ls» отображает исполняемые файлы зеленым цветом. Поэтому нам нужно сообщить Linux, что наш новый файл является исполняемым. Мы делаем это, введя следующее:
Это изменяет права доступа к файлам и делает их исполняемыми. Теперь «ls» показывает файл как зеленый:
Пришло время запустить нашу команду!
Шаг 3: Указание путей к нашему скрипту
К сожалению, мы не можем просто набрать «files» в текущем каталоге, чтобы запустить наш новый скрипт. Появляется сообщение об ошибке: “command not found”:
Это связано с тем, что Linux ищет регулярные команды в определенном наборе каталогов, на которые ссылается переменная $PATH. И наш текущий каталог отсутствует в этом списке.
Итак, у нас есть три варианта:
- Вручную укажите полное местоположение нашего файла сценария каждый раз
- Добавьте «текущий каталог» в переменную $PATH
- Переместите наш файл сценария в существующую папку, на которую ссылается $PATH
Давайте посмотрим, как сделать все три:
Способ 1. Вручную укажите полное местоположение
Когда мы попытались просто набрать «files» ранее, мы получили сообщение об ошибке. Но мы можем указать текущий каталог для нашего файла сценария следующим образом:
И это работает, как вы можете видеть ниже:
К сожалению, это не сработает, если мы будем в другой папке. Мы должны указать полный путь, который является болью.
Способ 2. Добавить «Текущий каталог» в переменную PATH
Этот метод имеет ту же проблему, что и первая. Мы можем сказать, что Linux всегда ищет «текущий каталог» для скриптов и команд. Таким образом, нам не придется использовать «./». Мы можем временно добавить текущий каталог в $ PATH следующим образом:
Теперь просто набрав «файлы», как показано здесь:
Однако этот подход имеет две проблемы:
- Как уже упоминалось, вы не можете получить доступ к сценарию из любого другого каталога, кроме своего собственного
- Изменение в $PATH является временным. Он будет сброшен, когда сеанс пользователя закончен!
Чтобы изменения в $PATH были постоянными, нам необходимо отредактировать этот файл:
Как и раньше, мы можем использовать редактор vi:
Снова нажмите «Вставить», чтобы перейти в режим INSERT, и перейдите к строке с указанием переменной PATH, как показано ниже:
Теперь добавьте следующее в конец строки PATH:
Это двоеточие (:), за которым следует точка (.). Сохраните файл в vi, нажав «Esc» и Shift + z + z, как раньше. Однако изменения не вступят в силу до перезагрузки
/.bash_profile. Сделайте это, используя следующую команду:
Вы можете проверить, произошли ли изменения, вызвав переменную $PATH. Вы должны увидеть дополнение в конце строки следующим образом:
Теперь изменение сохранится даже после завершения сеанса пользователя. Однако вы все равно не можете выполнить команду из любой папки. Для этого нам нужен метод 3.
Способ 3: добавьте файл в существующий пункт назначения $PATH (рекомендуется)
На мой взгляд, это лучший способ добавить вашу пользовательскую команду, чтобы вы могли получить к ней доступ из любого места.
Во-первых, получите список местоположений $PATH с помощью echo $PATH, как показано в методе 2.
Каждое расположение папки разделяется двоеточием (:) Вы можете видеть на скриншоте выше, что папка /usr/local/bin является одним из путей.
Поэтому мы просто переместим нашу пользовательскую команду в это место (или любую другую папку в $PATH) с помощью этой команды:
И теперь мы можем изменить нашу рабочую папку и получить доступ к скрипту из любой точки!
На этом скриншоте я переместил сценарий в /usr/local/bin и переместил одну папку на «cd ..». И команда все еще работает!
Это правильный способ создания пользовательских команд в Linux. Это всего лишь верхушка айсберга, когда дело доходит до сценариев в Linux. Вы можете писать сложные логические контуры и выполнять условные операторы. Вы также можете использовать это для создания псевдонимов для существующих команд или объединить их вместе для автоматического выполнения! Если это ваш первый набег на Linux-скрипты, будьте готовы получить доступ к богатству мощности и функциональности в будущем.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник