Думайте об псевдонимах как псевдонимах. У вас может быть команда, которую вы много выполняете, но хотите сократить.
Например, вы часто хотите перейти прямо на рабочий стол в командной строке, так что вы можете сделать это
alias desktop="cd ~/Desktop"
С этого момента вы просто введите
desktop
в терминале, и он выполнит cd ~/Desktop
для вас.
Функции содержат логику. В функции вы можете звонить в несколько разных программ. Вот простая функция эха
function e {
echo $1
echo $1 $1
echo $1 $1 $1
}
Хотя он может выглядеть как псевдоним, когда вы его называете
e Hello
Ваш e () может иметь много разных вещей. Выше приведен упрощенный пример.
Псевдонимы должны быть зарезервированы для простых случаев использования. Личный пример - я заменил мою rm
команду, как это
alias rm='trash-put'
Всякий раз, когда я делаю rm, он отправляет его в корзину, а не удаляет с диска. Это удовлетворяет мою неуклюжесть в терминале, где я могу (иногда) случайно удалить важный файл.
Функции , которые вы должны помнить, являются кусочками логики. Вы не будете использовать функцию автономно, как правило. Это было бы частью большего сценария. Представьте себе скрипт, который берет все ваши файлы и переименовывает их в свои латинские версии. Не обращайте внимания, что есть разные способы сделать это.
Но то, что вы могли бы сделать, это перебрать все файлы в каталоге и передать путь к файлу вашей функции RenameAsPigLatin. Функция RenameAsPigLatin может иметь дополнительную логику, включающую числа, где вы решаете, что файлы, заканчивающиеся числами, не должны быть переименованы.
Сразу же вы можете увидеть выгоду от его использования в качестве функции. Функция может фокусироваться на переименовании по вашим странным правилам, в то время как остальная часть скрипта может проходить по различным каталогам по мере необходимости.