
端末で実行しようとするとエラーが発生しますThe command could not be located because '/usr/bin' is not included in the PATH environment variable
。
例えば。
jeper@jeper:~$ clear
Command 'clear' is available in '/usr/bin/clear'
The command could not be located because '/usr/bin' is not included in the PATH environment variable.
clear: command not found
そしていいね
jeper@jeper:~$ vi
Command 'vi' is available in '/usr/bin/vi'
The command could not be located because '/usr/bin' is not included in the PATH environment variable.
vi: command not found
問題は何ですか?どうやって解決しますか?
答え1
$PATHが空のようです。試してみてくださいecho $PATH
。出力は次のようになります。
/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/root/bin
そうでない場合、またはコマンドを使用してユーザーを切り替える場合は、.bash_profile
次に使用する必要があります。.bashrc
su username
su - username
答え2
この試み
移動(ターミナルに入力):
gedit ~/.bashrc
.bashrc タブをクリックし、次をファイルの下部に貼り付けます。
export PATH=/usr/bin:$PATH
うまくいくでしょう:)
答え3
端末でコマンド名を実行すると、システムはその実行可能ファイルを含むディレクトリのリストでその名前の実行可能ファイルを探します。このリストはあなたの道$PATH
Bashシェル(および他のほとんどの* nixシェル)は変数に保存されます。 bashを使っているようですので、読んでください。
$PATH
さまざまな場所に設置されています。まず、$PATH
で設定されたシステム範囲があります/etc/profile
。各新しいユーザーは$PATH
そのユーザーセットを継承します。通常、/usr/bin
これはシステムに追加する必要があります$PATH
。/etc/profile
たとえば、私のDebianには次のものがあります。
PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
export PATH
これにより、さまざまなユーザー固有のbash起動ファイルがあります。どちらを読むかによって異なります。どのように対話式または非対話式のシェルとして実行されているかどうか、ログインシェルかどうかに関係なく、bashを起動します。 @Gillesの非常に良い答えを参照してください。ここ別のシェル呼び出しで読み取った別のファイル。
$PATH
要約すると、システム全体の設定を変更せずにユーザーに特定のディレクトリを追加するには、$HOME/.profile
ファイルに次の行を追加します。
PATH="$PATH:/usr/bin"
~/.profile
bash
ログイン時に一度だけ読むのではなく、すべてのシェルから読みます。~/.bashrc
一方、端末を開くたびに読み取られるので、一度だけ設定すればよく、端末を開くたび$PATH
にリセットする必要がないので、ここでは設定したいところではありません。
答え4
ターミナルに移動(ctrl+alt+T):
sudo nano ~/.bashrc
ファイルの末尾に貼り付けます。
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:bin:/usr/games:/usr/local/games"
ctrl+X
->Y
->Enter
source ~/.bashrc