echo $PATH の結果は /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/bin:/bin:/bin:/bin:

echo $PATH の結果は /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/bin:/bin:/bin:/bin:

歴史: Selenium をインストールしました (java_home はすでに処理して動作していました)。次に、Android Studio(mac) をインストールして、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_プロファイル [テキスト エディターを開き、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

アップデート: 問題をさらに切り分けるために、Java を除く bash_profile のすべてをコメントアウトしました。

  • 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 で 1 つを除いてすべてをコメントアウトしました:

  • 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?

PATHは.profile1 つだけです。

export PATH=~/.npm-global/bin:$PATH

答え1

最も可能性の高い原因は、.bashrc または .bash_profile のエクスポートに問題があることです。たとえば、export PATH=PATH/binこれは である必要がありますexport PATH=$PATH:/bin
ターミナルの外部でこれを変更するには、Command+Shift+. を使用してファインダーで隠しファイルを切り替え、TextEdit または別のエディターで編集できるようにします。

答え2

.bash_profileで変更した

  • export PATH=$PATH:/bin

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

システムは正常に戻りました。

答え3

私の理解が正しければ、 に次の行があります~/.bash_profile:

source .bash_profile

このsourceコマンドは、指定されたファイルの cont コンテンツを読み込んで処理します。つまり、ターミナルが起動すると がソースとなり~/.bash_profile、次に がソースとなり~/.bash_profile、次に がソースとなり~/.bash_profile、というように実行されます。

その行を削除すると、おそらく問題は解決するでしょう。

答え4

PATH="/usr/local/bin" をエクスポートします

問題を解決する

関連情報