У меня есть установленное использование завершения удара macports и после строк в моем .bash_profile
if [ -f /opt/local/etc/bash_completion ]; then
. /opt/local/etc/bash_completion
fi
но завершение не работает, когда я открываю Terminal, однако это начинает работать после определения источника .bash_profile или после 'удара-l'.
Я выполняю OSX 10.6, в Терминальных предпочтениях существует "Shell, открывается: оболочка входа в систему По умолчанию (/usr/bin/login)" выбранный.
Решенный: То, что я пропустил, является строкой в том, Как использовать завершение удара
Удостоверьтесь, что Вы добавляете это после любого управления ПУТЕМ как иначе, завершение удара не будет работать правильно.
когда я переместил строки после управления ПУТЕМ, все хорошо работает.
Я использовал бы chsh
команда для проверки оболочки является на самом деле Bash; если Ваша оболочка /bin/sh
вместо /bin/bash
, Bash будет подражать исторической оболочке и не будет читать ~/.bash_profile
.
От man bash
:
Если удар вызывается с именем sh, это пытается подражать поведению запуска исторических версий sh максимально тесно при приспосабливании стандарту POSIX также. При вызове как интерактивная оболочка входа в систему или неинтерактивная оболочка с - опция входа в систему она сначала пытается считать и выполнить команды от/etc/profile и ~/.profile в том порядке.
[...]
Начиная с оболочки, вызванной, поскольку, sh не пытается считать и выполнить команды из любых других файлов запуска, - rcfile опция не имеет никакого эффекта.