Вот важная процедура объявления постоянной функции:
Откройте ~/.bashrc
файл в текстовом редакторе. Неважно, какой текстовый редактор, если вы знаете, как его использовать, и если вы открываете/home/<username>/.bashrc
В конце ~/.bashrc
объявите вашу собственную функцию, например:
find_dirs(){
find "$1" -type d
}
Сохраните и закройте файл.
~/.bashrc
Файл считывается каждый раз при открытии интерактивной оболочки (то есть новая вкладка терминала, Логин с помощью ssh
или открыть tty1 или другой виртуальной консоли). Это не будет доступно в файлах сценариев, поскольку ~/.bashrc
не читается для неинтерактивных оболочек. Это также не доступно, если вы работаете bash
с --norc
опцией.
Если вы хотите, чтобы эта функция была доступна сразу на открытой вкладке, используйте source ~/.bashrc
команду.
Функции принимают аргументы, как обычные команды. Например, $1
через $9
указывают позиционные параметры при вызове функции. В приведенном выше примере find_dirs
принимает только один позиционный параметр и будет называться как find_dirs /etc
. Вы также можете использовать $@
для ссылки на все позиционные параметры. Функции также принимают перенаправление. Вы можете вызвать функцию с помощью find_dirs $1 > /dev/null
; мы также можем объявить это следующим образом:
find_dirs(){
find "$1" -type d
}
Примечание от man bash
: «Функции выполняются в контексте текущей оболочки; не создается новый процесс для их интерпретации». Это означает, что вы также должны знать о функциях, которые могут изменять среду выполнения вашей оболочки - изменять переменные и настройки терминала.