В первую очередь, как ddeimeke сказал, псевдонимы по умолчанию не расширены в неинтерактивных оболочках.
Во-вторых, .bashrc
не читается неинтерактивными оболочками, если Вы не устанавливаете BASH_ENV
переменная среды.
Но самое главное: не делайте этого!Пожалуйста? Однажды Вы переместите тот сценарий куда-нибудь, где необходимые псевдонимы не установлены, и он повредится снова.
Вместо этого набор и переменные условий применения как ярлыки в Вашем сценарии:
#!/bin/bash
CMDA=/path/to/gizmo
CMDB=/path/to/huzzah.sh
for file in "$@"
do
$CMDA "$file"
$CMDB "$file"
done
Ярлык -
Попробовать cd -
Если Вы хотите использовать это в своей подсказке, необходимо обратиться к ней с ~-
.
Посмотрите пример:
[echox@kaffeesatz ~]$ cd /tmp
[echox@kaffeesatz tmp]$ ls
cron.iddS32 serverauth.CfIgeXuvka
[echox@kaffeesatz tmp]$ cd -
/home/echox
[echox@kaffeesatz ~]$ ls ~-
cron.iddS32 serverauth.CfIgeXuvka
Вы могли бы также хотеть посмотреть на pushd
и popd
, которые создают стопку каталогов для запоминания, где Вы были.
Использовать, pushd <directory>
изменения в <directory>
и сохраняет предыдущий каталог. Для возврата к этому сохраненному каталогу использовать popd
.