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

все терминалы показывают это повторение / цикл

  • /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/bin:/bin:/bin:/bin:/bin:/bin:/bin:/bin:....

еще одно наблюдение

В самом начале, когда я открываю терминал, что-то работает в фоновом режиме, что мешает мне что-то вводить в терминал. Мне нужно нажать 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, так далее...

Удаление этой строки, вероятно, решит ваши проблемы.

экспортировать PATH="/usr/local/bin"

исправь свою проблему

Другие вопросы по тегам