Мой .bash_profile
похож на ниже:
alias l='ls -l'
alias p='pwd'
alias sites='cd /home/caveman/sites'
alias time_card='cd /home/caveman/sites/time-card/time-card'
alias ping='ping google.com'
alias bash_profile='gedit /home/caveman/.bash_profile'
alias webroot='cd /var/www'
каждый раз, когда я захожу на свою машину, мне нужно запустить source .bash_profile
, чтобы сделать все псевдонимы доступными.
Ребята, вы можете понять, в чем проблема?
~/.bash_profile
только для чтения в сеансе входа в систему.
Кроме того, наличие ~/.bash_profile
предотвращает получение ~/.profile
, что является предпочтительным файлом для использования для оболочки входа в конфигурации bash
для Ubuntu.
Когда вы входите в Диспетчер отображения (я полагаю, GDM), по умолчанию читается ~/.profile
(я не знаю, следует ли GDM правилам bash
и вместо этого читает ~/.bash_profile
, если существует). ]
Даже если ~/.bash_profile
были прочитаны из GDM, псевдонимы не наследуются, поэтому оболочка, установленная в графическом терминале (которая не является оболочкой входа в систему), не может их видеть.
Решение: поместите ваши псевдонимы в ~/.bashrc
и используйте псевдонимы только для очень простых вещей, в противном случае используйте функции.
Файл ~/.bashrc
читается не входящими в систему интерактивными оболочками и поставляется в ~/.profile
, так что его содержимое также доступно в оболочках входа в систему.
Вы можете просто добавить псевдонимы в ~ / .bash_aliases вместо этого