Говоря, в частности, о Bash-
Это происходит потому, что когда Bash получает команду с использованием -c
, он запускается без -интерактивный режим, в частности, отключено раскрытие псевдонимов.
В общем, вы не должны использовать псевдонимы в скриптах, вместо этого вы должны использовать функции оболочки или другие скрипты.Если вы действительно хотите использовать псевдонимы, попробуйте bash -ic
. -i
запустит оболочку в интерактивном режиме, прочитает ваши файлы конфигурации, такие как / .bashrc
, после чего расширение псевдонима будет включено.
Примечание. Псевдонимы, которые видит Bash, будут исходить из файлов конфигурации, а не из родительской оболочки.