У меня ушло почти 10 лет использования Linux, чтобы задать этот вопрос. Все это было методом проб и ошибок и случайным ночным интернет-серфингом.
Но людям не нужно 10 лет для этого. Если бы я только начинал с Linux, я бы хотел знать: когда использовать псевдоним, когда писать сценарий и когда писать функцию?
Что касается псевдонимов, я использую псевдонимы для очень простых операций, которые не принимают аргументов.
alias houston='cd /home/username/.scripts/'
Это кажется очевидным. Но некоторые люди делают это:
alias command="bash bashscriptname"
(и добавьте его в .bashrc
файл)
Есть ли хорошая причина для этого? Я очень стараюсь, но я искренне не могу вспомнить ни одного обстоятельства, при котором я бы хотел это сделать. Итак, если есть крайний случай, когда это будет иметь значение, пожалуйста, ответьте ниже.
Потому что именно здесь я просто поместил бы что-нибудь в мою PATH и chmod +x
это, и это еще одна вещь, которая пришла после многих лет проб и ошибок в Linux.
Что подводит меня к следующей теме. Например, я добавил скрытую folder ( .scripts/
) в домашнем каталоге в свой PATH, просто добавив строку в my .bashrc
( PATH=$PATH:/home/username/.scripts/
), чтобы все выполняемые там файлы автоматически выполнялись автоматически.
Если бы мне было нужно.
Мне правда это не нужно, правда? Я бы использовал это только для языков, которые не являются оболочкой, таких как Python.
Если это оболочка, я могу просто написать функцию в том же самом .bashrc
:
funcname () {
somecommand -someARGS "$@"
}
Как я уже говорил, я обнаружил многое из этого методом проб и ошибок. И я по-настоящему видел всю прелесть функций, когда мой компьютер умер, и я был вынужден использовать компьютеры окружающих меня людей, когда они их не использовали.
Вместо того, чтобы переносить весь каталог скриптов с компьютера на компьютер, я просто заменил чужой .bashrc своим собственным, так как они никогда не делали ни одной модификации.
Но я что-то пропустил?
Итак, что бы вы сказали начинающему пользователю Linux о том, когда использовать псевдоним, когда писать сценарий и когда писать функцию?
Если это не очевидно, я предполагаю, что люди, которые ответят на это, будут использовать все три варианта. Если вы используете только псевдонимы или только сценарии, или используете только функции - или если вы используете только псевдонимы и сценарии или псевдонимы и функции или сценарии и функции - этот вопрос на самом деле не нацелен на вас.