サーバーを再起動した後、SSHでコマンドを実行できなくなりました。
コマンドは次のようなものを返します:-bash: ls: command not found
$ PATHが何らかの形で変更されている必要があることに気付きました。/bin/ls
を実行すると、正常に機能するようです。
echo $PATH
は以下を返します。
/usr/local/sbin:/usr/sbin:/sbin:$PATH:/opt/jdk1.8.0_45/bin:/opt/jdk1.8.0_45/jre/bin:/root/bin
ここではJavaが原因だと思いますが、$ PATH変数をリセットするにはどうすればよいですか?
次のコマンドを実行して、/ binまたは必要なディレクトリをPATHに追加できます。
export PATH="$PATH:/bin"
次に、その行を.profileまたは.bashrc(bashを使用している場合)に追加して、ログインするたびにディレクトリがパスに含まれていることを確認できます。
PATH
を見ると、起動スクリプトのどこかで、アプリケーションが自分自身をPATH
に追加しようとしているようですが、正しく実行されていません。その理由は、PATH
に文字列$PATH
が含まれているためです。これは実際のパスに展開されているはずですが、文字列$PATH
として含まれています。
Javaパスがパスの$PATH
に続くという事実は、それを実際に主な容疑者にします。次のようなことをする可能性があります。
PATH='$PATH:/opt/jdk1.8.0_45/bin:/opt/jdk1.8.0_45/jre/bin'
の代わりに:
PATH="$PATH:/opt/jdk1.8.0_45/bin:/opt/jdk1.8.0_45/jre/bin"
引用の違いに注意してください。