Как создать псевдонимы и функции оболочки в Linux?

приходите и после последней команды:



имя_функции () {команда1; command2; }

Псевдонимы Lika, функции оболочки Bash могут быть определены в файле «.bashrc», но часто лучше поместить их в отдельный файл определений. Мы назовем его «.bash_functions», следуя соглашению, используемому для файла «.bash_aliases».

Это означает, что нам нужно указать файлу «.bashrc» читать наши определения. Мы можем скопировать и изменить фрагмент кода, который читается в файле «.bash_aliases». Запустите gedit и загрузите файл «.bashrc» с помощью этой команды:



gedit .bashrc

gedit .bashrc файл



Вам необходимо добавить выделенный раздел, показанный ниже.



Вы можете выделить раздел псевдонима и нажать Ctrl + C, а затем перейти туда, где вы хотите создать новый раздел, и нажать Ctrl + V, чтобы вставить копию текста. Затем все, что вам нужно сделать, это заменить два места, где написано «.bash_aliases», на «.bash_functions».

Добавление bash_functions в файл .bashrc

Мы можем сохранить эти изменения и закрыть gedit.



Теперь мы собираемся создать и отредактировать файл «.bash_functions» и поместить в него определение функции.

коснитесь .bash_functions gedit .bash_functions

Создание и редактирование .bash_functions

Это откроет пустой файл «.bash_functions» в gedit.

Мы собираемся добавить простую вызываемую функцию. up примет единственный параметр командной строки, который является цифрой. Затем up вызовет cd .. это количество раз. Итак, если вы использовали команду

вверх 2

up вызовет cd .. дважды и переместится на два уровня вверх в дереве каталогов.

Есть разные способы определения функции. Вот один:

function up () {

Слово функция не является обязательным. Если вы традиционалист, используйте его, если вас не беспокоит его ввод, оставьте его.

Вот вся наша функция в gedit:

Редактирование файла .bash_functions

function up () {

Это знаменует начало определения нашей функции и называет функцию up.

уровни = 1 $

Это создает переменную с именем уровни и устанавливает его в значение первого параметра. Этот параметр будет цифрой, предоставленной пользователем при вызове функции. $ 1 означает «первый параметр командной строки».

в то время как ['$ levels' -gt '0']; делать

Затем мы вводим цикл, который затем переводится как «когда» значение 'Из' уровни 'Положительно или больше нуля, делать то, что содержится в теле цикла'.

Внутри тела цикла у нас есть две команды. Они есть:

CD ..

Перейти на уровень вверх в дереве каталогов.

уровни = $ (($ уровни - 1))

Установите для уровней новое значение, которое на единицу меньше текущего значения.

Затем мы возвращаемся к началу цикла, сравнивая значение уровней и ноль еще раз. Если «уровни» больше нуля, тело цикла выполняется снова. Если он не положительный или больше нуля, цикл завершен, и мы переходим к оператору done, и функция завершается.

Сохранить эти изменения и закрыть gedit .

Мы прочитаем и выполним команды из «.bashrc», которые должны считывать и выполнять команды из нашего файла «.bash_functions».

. .bashrc

Звоните ..bashrc

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

cd ./work/backup/ up 2

Функционирование вверх

Функция работает. Мы перемещены на два уровня каталогов выше в дереве.

Следить за типом

По мере создания набора псевдонимов и библиотеки функций может стать трудно запомнить, является ли конкретная команда псевдонимом или функцией. Вы можете использовать « тип' команда, чтобы напомнить вам. Самое классное здесь то, что вы также можете увидеть определение.

Давайте использовать шрифт на нашем FTC псевдоним и наша функция вверх.

тип ftc тип вверх

Использование типа

Мы получаем очень полезное напоминание о типе каждой команды вместе с их определениями.

Начать собирать

Псевдонимы и функции могут значительно ускорить использование командной строки. Они могут сократить последовательность команд и позволяют запрограммировать параметры, которые вы всегда используете со стандартными командами. Каждый раз, когда вы видите изящную однострочную или полезную функцию, вы можете адаптировать и персонализировать ее, а затем добавить в свои файлы «.bash_aliases» или «.bash_functions». Их широкое использование может сделать ваше время в скорлупе более приятным и менее сложным.

Не забудьте с осторожностью переопределять существующие команды с потенциально деструктивным поведением. Даже выполнение противоположного действия и наложение команды на более безопасный вариант (например, всегда запрашивание подтверждения перед рекурсивным удалением) может снова укусить вас, когда вы впервые в системе без него, как только вы начнете полагаться на него . Чтобы найти кандидатов, для которых можно было бы создать псевдонимы, может быть хорошей идеей поискать в истории наиболее часто используемые команды.

12 минут на чтение