echo $PATH результаты в /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/bin:/bin:/bin:/bin:/bin:/bin:

echo $PATH результаты в /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/bin:/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 [Открыл текстовый редактор, нажал Command + 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)

решение1

Наиболее вероятная причина в том, что у вас возникли проблемы с экспортом в вашем .bashrc или .bash_profile, например, export PATH=PATH/binкоторый должен быть export PATH=$PATH:/bin.
Чтобы изменить это вне Терминала, вы можете использовать Command+Shift+. для переключения скрытых файлов в Finder, чтобы иметь возможность редактировать с помощью TextEdit или другого редактора.

решение2

Я изменил в .bash_profile

  • export PATH=$PATH:/bin

    к

  • export PATH="/usr/local/bin:$PATH"

и система возвращается в нормальное состояние.

решение3

Если я правильно понял, у вас в файле есть следующая строка ~/.bash_profile:

source .bash_profile

Команда sourceзагрузит и обработает содержимое указанного файла, что означает, что при запуске терминала он выполнит команду sources ~/.bash_profile, которая затем sources ~/.bash_profile, которая затем sources ~/.bash_profileи т. д.

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

решение4

экспорт ПУТЬ="/usr/local/bin"

решить вашу проблему

Связанный контент