Я сделал краткий курс об ударе и терминале, и одна из лучших практик, размеченных в курсе, создавала псевдоним для каждой функции, которая будет создана. Например, если у меня была функция:
function e() { echo "$*"; }
Я должен также создать, создают псевдоним:
alias e='e'
Вы думаете, что это имеет смысл и если да, каково обоснование? Я полагаю, что могу получить функции и использовать их без псевдонимов так или иначе, таким образом, это отчасти походит на ненужную работу.
sed
или awk
много, понимают. Псевдонимов можно оставить путем добавления \
. Это полезно для системных администраторов. Если Вы не захотите, чтобы Ваш пользователь выполнил определенную команду, то функция будет иметь приоритет. Пример:
$ ls
serg says this command is a no-no
$ \ls
serg says this command is a no-no
примечание, которое пользователь может все еще выполнить /bin/ls
без проблем туда, таким образом, это не действительно хорошие меры безопасности. Я сказал бы, что лучшее использование будет как обертка для некоторой команды, где Вы хотите добавить заголовок или удалить некоторую информацию.
There is no mechanism for using arguments in the replacement text.If arguments are needed, a shell function should be used
. Таким образом, в то время как можно сделать простые приемы - что-то как alias e="echo"; e Hello
- Вы хотели бы функцию, когда Вы хотите иметь дело с параметрами командной строки экстенсивно. В моем личном опыте, я использовал функции намного больше, чем псевдонимы. Они похожи на сценарии, кроме он не необходим для создания внешних файлов - они могут все жить в моем ~/.bashrc
. Заключение в кавычки и ссылка на переменные становятся меньшим количеством проблемы.
function e() { echo "$*"; }
я должен также создать, создают псевдоним:
alias e='e'
, Который, как есть, является довольно немым. Нет никакого смысла к определению псевдонима функции и предоставления его то же имя.
я думал бы, что то, что они имели в виду, было: