私はUnixが初めてで、学位論文用のプログラムをインストールする過程で、ls
などの基本的なUnixコマンドのPATHを試してみたはずです。 ls
とファイルを一覧表示するディレクトリ名を入力するたびに、次のようになります。
-bash: ls: No such file or directory
これを修正するにはどうすればよいですか?どんな助けでも大歓迎です!
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
完全なPATHは復元されませんが、基本的なユーティリティが再び使用可能になります。
これは、発生する種類の例です。
あなたはPATH変数を持っています(それを読むとき$ PATHと呼ばれます)
何かのようなもの:
$ echo $PATH
/home/durrantm/.rvm/gems/Ruby-2.0.0-p247/bin:/home/durrantm/.rvm/gems/Ruby-2.0.0-p247@global/bin:/home/durrantm/.rvm/rubies/Ruby-2.0.0-p247/bin:/home/durrantm/.rvm/bin:/h
ome/durrantm/.autojump/bin:/usr/local/heroku/bin:/home/durrantm/bin:/home/durrantm/.autojump/bin:/usr/local/heroku/bin:/home/durrantm/.autojump/bin:/usr/local/heroku/bin:
/home/durrantm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/durrantm/.rvm/bin:/home/durrantm/.rvm/bin:/home/durrantm
/.rvm/bin
追加しようとしましたが、誤って使用しました
PATH=PATH:other_dir
の代わりに
PATH=$PATH:other_dir
その結果、あなたの道は
PATH:other_dir
そして、lsやsedなどのすべてのユーティリティが機能しません
最小限のセットを修正するには、
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
これは、ログインドットファイルがPATHをめちゃくちゃにしている場合に特に便利です。
PATHの変更がないか、.bashrcファイルや.bash_profileファイル、あるいはその両方を確認します。
Gregが言うように、ログアウトして(またはより安全なオプションとして、新しいウィンドウを開くのが失敗した場合に備えて新しいウィンドウを開きます!)、新しいウィンドウから$ PATHをエコーすることもできます。
同じことがpath=
値なし。現在のパスを「消去」して、これらの問題を引き起こします。
whyと同様に、これらの問題が発生した場合、cdは機能し、lsは機能しません。
cd
は、プログラムを見つけるためにPATHを必要としない「組み込み」コマンドですls
はプログラムであり、PATHを使用してその場所を見つける必要があります。これは次のようにして確認できます。
$ builtin ls
-bash: builtin: ls: not a Shell builtin
14:47:29 mdurrant C02MH2DQFD58 /Users/mdurrant
$ builtin cd
14:47:31 mdurrant C02MH2DQFD58 /Users/mdurrant
$
エラーがないことは、コマンドが組み込みであることを意味します
新しいウィンドウを開くか、ソース〜/ .bash_profileを実行して、変更(特に PATH設定コマンドを実行している.bashrc、.profileなどへの変更)をテストしてください。変更が機能せず、新しいウィンドウを開いてファイルを編集できない場合に備えて、ウィンドウとエディター(.bash_profileファイルを変更するとき)を開いたままにしておくこともお勧めします。ただし、TextEditまたは別の単純なエディターを使用してファイルを変更することはできます(たとえば、コマンドラインやviは避けてください)。シェルが壊れている場合や、シェルが壊れている場合は、再起動しないように注意してください。そうしないと、ログインできない場合もあります。そしてそれは本当に本当に悪いです(あなたからのsu
への別のアカウントがなければなりません)。私に起こった!私の「追加のアカウント」は、当時のライフセーバーであり、すべての人に強く推奨されています(今すぐ実行してください!)
PATH
に加えた変更は一時的なものである可能性があります。現在のシェルをexit
で閉じ、再度開きます。
新しく開いたシェルのPATH
を設定するファイルを編集した場合は、変更したものをすべて修正するためのコマンドへのフルパスを指定します(例:/usr/bin/vim
)。