Использование аргументов в замещающем тексте псевдонима

Использование аргументов в замещающем тексте псевдонима

В руководстве по bash говорится, что для псевдонима:

Нет механизма использования аргументов в тексте замены, как в csh. Если аргументы необходимы, следует использовать функцию оболочки (см. Раздел 3.3 [Функции оболочки], стр. 17).

Что означают эти два предложения?

«использование аргументов в замещающем тексте», похоже, не означает следующее, что успешно

$ alias foo="echo bac" 
$ foo
bac
$ foo hello
bac hello

решение1

Я полагаю, что формулировка не идеальна, если только вы не примете ееоченьбуквально. Bash не заменяет никакихпсевдонимтекст с аргументами; он будетдобавитьаргументы к тексту, как вы видели. Это в противовесCSH псевдонимыкоторый расширяет аргументывнутризаменяющий текст.

Второе предложение, IMHO, вытекает из вышеуказанного ограничения и поощряет более гибкие определения функций вместо упрощенных псевдонимов.

Связанный контент