У меня есть много псевдонимов Bash в удаленном месте.
Но когда я пытаюсь запустить их из своего локального Linux-бокса,
я получаю ошибку «команда не найдена». например
$ ssh root@remote 'status'
bash: status: command not found
На удаленном месте статус определяется как
$ alias status='ls /tmp/status'
Как я могу объявить псевдоним в удаленном местоположении,
чтобы я мог вызвать его из любого места?
Ответы:
Смотрите ответ на аналогичный вопрос о сбое сервера. По сути, bash не раскрывает псевдонимы в неинтерактивных оболочках, если явно не настроен для этого (
shopt -s expand_aliases
). Кроме того, вы должны убедиться, что.bashrc
он оценивается даже в неинтерактивных оболочках.источник
.bashrc
явно указать и использовать при входе на удаленный хост.Вы можете запустить
Чтобы запустить другую копию оболочки в интерактивном режиме (что означает, что она загрузит псевдонимы из ваших файлов конфигурации bash)
Запуск второй оболочки - не то фантастическое решение, но оно работает.
источник
На мой взгляд, если вы хотите создать много псевдонимов, лучшее решение:
.bash_aliases
) в вашем/home/"user_name"
/home/"user_name"/.bashrc
файле вставьте следующие строки:Я поместил эту строку в конец файла, но только для ясности.
источник