64

У меня есть однострочный файл .bashrc в моем домашнем каталоге:

alias countlines='find . -type f -print0 | xargs -0 cat | wc -l'

Но это не создает псевдоним. Почему это может быть?

5 ответов5

77

В OSX .bash_profile используется вместо .bashrc .

И да, файл .bash_profile должен находиться в /Users/YourName/
(Другими словами, ~/.bash_profile)

Например, /Users/Aaron/.bash_profile

77

.[bash_]profile и .bashrc могут использоваться как в OS X, так и в Linux. Первый загружается, когда оболочка является оболочкой входа в систему; последний, когда это не так. Реальное отличие состоит в том, что Linux запускает оболочку входа в систему, когда пользователь входит в графическую сессию, а затем, когда вы открываете терминальное приложение, эти оболочки являются оболочками, не входящими в систему; тогда как OS X не запускает оболочку при графическом входе в систему, а когда вы запускаете оболочку из Terminal.app, это оболочка входа в систему.

Если вы хотите, чтобы ваши псевдонимы работали как в логинах, так и в не-логинах (и вы обычно это делаете), вы должны поместить их в .bashrc и source .bashrc в ваш .bash_profile, с помощью строки, подобной этой:

[ -r ~/.bashrc ] && source ~/.bashrc

Это относится к любой системе, использующей bash.

7

Или создайте символическую ссылку с именем .bash_profile, указывающую на ваш .bashrc

ln -s .bashrc .bash_profile
2

Это не псевдоним, потому что .bash_profile используется вместо .bashrc в Mac OS X.

Итак, у вас есть два варианта:

  • Поместите псевдоним в ваш ~/.bash_profile

  • Или отправьте ваш .bashrc из вашего .bash_profile , добавив эту строку в .bash_profile:

    . ~/.bashrc

1

В Mac OS X Yosemite выполните следующую команду:

vi ~/.profile

Затем добавьте следующую строку:

source ~/.bashrc

Теперь сохраните и закройте .profile , затем откройте новое окно терминала или просто запустите:

source ~/.profile

Смотрите также этот ответ. Работало на v10.10.3.

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