1

У меня проблема с Ubuntu. Псевдонимы Bash, такие как ll , не работают, если я подключаюсь к своей системе из SSH. Работает нормально после написания bash как команды в оболочке.

Раньше работал. В чем может быть проблема?

 echo $SHELL
/bin/bash

1 ответ1

5

Существуют разные наборы файлов, в которых вы можете установить эти псевдонимы в зависимости от того, был ли Bash запущен в качестве оболочки входа в систему или нет.

Если вы войдете в свою машину (то есть предоставите имя пользователя и пароль), то Bash всегда будет загружать /etc/profile и загружать первый из ~/.bash_profile , ~/.bash_login и ~/.profile если найдет один из них.

Если вы запустите новый терминал с вашего компьютера, вы запустите не оболочку входа в систему, а так называемую интерактивную оболочку. Это загружает ~/.bashrc , но ни один из вышеперечисленных, и это также, где ваш псевдоним, вероятно, будет храниться.*

Чтобы загрузить содержимое .bashrc когда вы запускаете оболочку входа в систему, вы должны добавить следующее в ваш ~/.bash_profile:

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi

Переподключитесь через SSH, и псевдоним из ~/.bashrc будет доступен.

* Если его нет в этом файле, в Ubuntu могут быть другие общесистемные файлы bashrc такие как /etc/bash.bashrc . См. Переменные среды - Документация сообщества Ubuntu.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .