Простой ответ для вас заключается в том, что скрипты создают неинтерактивные оболочки, и по умолчанию опция expand_aliases часто отключена.
Вы можете исправить это очень просто, просто добавив следующую строку в начало вашего скрипта, чтобы включить расширение псевдонима:
shopt -s expand_aliases
Эта проблема вызывала у меня проблемы, поэтому я провел исследование, а затем написал сообщение в блоге, как только выяснил, как это исправить для себя:
Пост об использовании псевдонима в скриптах оболочки Linux.
Конечно, сразу после того, как я выяснил эту часть, я обнаружил, что, хотя он работает для того, что вам нужно, он не будет работать, если у вас есть подоболочка внутри подоболочки. Я все еще ищу решение этой проблемы, вот как я только что натолкнулся на ваш вопрос. В сообщении в блоге я упоминаю дешевый хак, который я использую, чтобы получить псевдоним в сценарии оболочки. Это не элегантно, но на самом деле это работает даже в этой множественной проблеме подоболочки.