web-dev-qa-db-ja.com

端末にsshコマンドが見つかりません

私の端末(OSXが重要な場合)をめちゃくちゃにしたようです。 SSHを試そうとすると、-bash: ssh: command not foundが表示されます

declare -p PATHの提案されたコマンドを使用した後、declare -x PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:‌​"を取得します

今、私は何をし、それを修正する方法について迷っています。私はこの分野に精通しておらず、自分が残しておかなければならないものにはっきりと手を出してしまったことにとても不満を感じています。

(編集、他のコンテンツの持ち込みを忘れた)PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin PS4=':${BASH_SOURCE}:$LINENO+' bash -x -l -iを実行すると、~/.bash_profileを含む結果の出力は次のようになります。

/Users/Name/.bash_profile:1+export PATH= /usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin‌​:/opt/X11/bin} 
:/Users/Name/.bash_profile:1+PATH= bash: export: ``/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sb‌​in:/opt/X11/bin': not a valid identifier 
:/Users/Name/.bash_profile:5+PATH=/Library/Frameworks/Python‌​.framework/Versions/‌​3.6/bin: :/Users/Name/.bash_profile:6+export PATH'
2
walkingbytrees

あなたの.bash_profileには以下が含まれているようです:

export PATH= /usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin‌​:/opt/X11/bin}

これには2つの問題があります。

  • =の後、値の前のスペースにより、値はexportへの個別の引数になりますnotPATHの新しい値の一部。したがって、exportが認識するのはPATH=(PATHを空の文字列に設定する)と/usr/local/sbin:...(これは割り当てではないため無視されます)です。
  • クロージング}は望ましくありません。

したがって、代わりに以下を含むようにファイルを変更する必要があります。

export PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin‌​:/opt/X11/bin

...または、もっと簡単に:

PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin‌​:/opt/X11/bin

...ここではエクスポートは必要ありません。PATHはすでに環境にあるため、更新は常に自動的にエクスポートされます。

1
Charles Duffy

MacOSのデフォルトのPATHは

PATH="/usr/bin:/bin:/usr/sbin:/sbin"

ターミナルで実行すると、通常の状態に戻ります。

.bashrcファイルなどを変更して、そのような行を追加または変更したり、削除したり、

PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:‌​$PATH"

特にPATH=の後にスペースがないことに注意してください。それはすべて一緒に実行され、変更を加えた場合は、同じように構成する必要があります。開いていない場合は、ターミナルを再度開くだけですべて正常に動作します。

4
Michael Homer