echo $PATH приводит к /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/bin:/bin:/bin:/bin:/bin:
История: я установил Selenium (java_home уже заботился и работал). Теперь я устанавливал Android Studio(mac) и мне нужно было настроить env для Java_home. Сначала я набрал:
set Android_home
export Android_home=/Library/Android/Home
echo Android_home
затем:
nano .bash_profile
Добавление Android_home.
export Android_home=/Users/<username>/Library/Android/sdk
export PATH=$PATH:$Android_home/tools
export PATH=$PATH:$Android_home/tools/bin
export PATH=$PATH:$Android_home/platform-tools
И, наконец: $ source .bash_profile
Затем закрыли все, снова открыли терминал. Терминал мгновенно запустил эту конкретную линию (бесконечно).
-bash: export: 'PATH/bin': not a valid identifier
Через некоторое время он меняется на
- -bash: export: 'PATH/bin': not a valid identifier
- -bash: /usr/libexec/java_home: Argument list too long
Спасибо, что нашли время, чтобы прочитать мой вопрос. [это мой первый вопрос. Извиняюсь за ошибки новичка. ]
.bash_profile [Открыл текстовый редактор, нажал Ctrl + Shift + >, чтобы показать скрытые файлы.]
Export JAVA_HOME=$(/usr/libexec/java_home)
PATH="/Library/Frameworks/Python.framework/Versions/3.7/bin:${PATH}"
export PATH
export MONGO_PATH=/usr/local/mongodb
export PATH=$PATH:$MONGO PATH/bin
export Android_home=/Users/<username>/Library/Android/sdk
export PATH=$PATH:$Android_home/tools
export PATH=$PATH:$Android_home/tools/bin
export PATH=$PATH:$Android_home/platform-tools
source .bash_profile
Обновление: чтобы изолировать проблему дальше, я закомментировал все в bash_profile, кроме одного, Java:
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME=/usr/libexec/java_home
export JAVA_HOME=/usr/libexec/java_home -v 1.8
Теперь беги echo $PATH
Результат: /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/bin:/
снова и снова
другой пример: я закомментировал все в bash_profile, кроме одного:
export PATH=$PATH:/bin
сохранить> закрыть терминал> открыть заново> проверить изменения с помощью
echo $PATH
все терминалы показывают это повторение / цикл
еще одно наблюдение
В самом начале, когда я открываю терминал, что-то работает в фоновом режиме, что мешает мне что-то вводить в терминал. Мне нужно нажать control + c
чтобы остановить это. Не могу узнать, что это за процесс.
Возможно ли, что .bash_profile
или же etc/paths
находится в конфликте с .profile
?
В .profile
только один путь
(export PATH=~/.npm-global/bin:$PATH
)
4 ответа
Я изменил в.bash_profile
export PATH=$PATH:/bin
в
export PATH="/usr/local/bin:$PATH"
и система возвращается к нормальной жизни.
Наиболее вероятная причина - у вас проблемы с экспортом в.bashrc или.bash_profile, например, export PATH=PATH/bin
который должен быть export PATH=$PATH:/bin
,
Чтобы изменить это за пределами Терминала, вы можете использовать Ctrl +Shift+. переключать скрытые файлы в Finder, чтобы вы могли редактировать с помощью TextEdit или другого редактора.
Если я правильно понимаю, у вас есть следующая строка в вашем ~/.bash_profile
:
source .bash_profile
source
Команда загрузит и обработает продолжение содержимого указанного файла, что означает, что при запуске терминала его источники ~/.bash_profile
, которые затем источники ~/.bash_profile
, которые затем источники ~/.bash_profile
, так далее...
Удаление этой строки, вероятно, решит ваши проблемы.