web-dev-qa-db-ja.com

Unix PATH変数とは何ですか?どのように追加しますか?

多くのプログラミングチュートリアルでは、ユーザーにPATHに何かを追加するように求めていますが、それが何であるかについては説明していません。コマンドラインを初めて使用するユーザーにPATHを説明する既存のリソースはあまり良くありません。

  • Unix PATH変数とは何ですか?

  • プログラムをダウンロードして、ターミナルでコマンドを実行しようとすると、command not found。これはPATHとどのような関係がありますか?

  • このコマンドを使用してPATHに何かを追加したところ、次のように機能しました。

    export PATH=/path/to/some/bin:$PATH
    

    ...しかし、私はcommand not found次にコンピュータを起動したときにもう一度。ターミナルを開くたびにPATHにとどまるにはどうすればよいですか?

  • Gitやgccなどのプログラムがコンピューターに既にロードされているかどうかを確認する最良の方法は何ですか?

11
Kevin Burke

UNIXパスは、実行しようとしているプログラムを検索するディレクトリのリストである環境変数です。これにより、/bin/lsのようなものを実行するために完全なパス名を使用する必要がなくなります(たとえば、パスに/binを置くことにより)。

たとえば、パスは次のもので構成されます。

/bin:/usr/bin:/usr/sbin

つまり、コマンドxyzzyを入力すると、現在のリストから最初に見つかったファイルを実行しようとします。

/bin/xyzzy
/usr/bin/xyzzy
/usr/sbin/xyzzy

(それが賢い場合、それはmay実行可能でないファイルをスキップします)。

次のようなコマンドを使用して、パスに物を追加できます。

set PATH=/directory/to/add:$PATH:/low/priority/path

パス検索リストの先頭に/directory/to/addを配置し、末尾に/low/priority/pathを配置します。

ただし、これは通常currentシェルでのみ変更されます。すべてのシェルに変更を加える場合は、その行を$HOME/.profile/etc/profileなどのスタートアップファイルの1つに追加する必要があります。使用する正しいファイルは、シェル自体とスタートアップファイルの設定方法によって異なります。どこに行くべきかを判断するのは必ずしも容易ではありませんが、ルールは一般に、使用しているシェルのマンページで説明されています。

通常、次のいずれかを使用してパス内のコマンドをfindできます。

which cmd
whence cmd

cmd実行可能ファイルを見つけます。たとえば、私のDebianシステムでは、次のトランスクリプトを取得します。

pax> which ls
/bin/ls

pax> which firefox
/usr/bin/firefox

pax> which xyzzy

pax> 
17
user53528

とは?

PATH環境変数は、コマンドを入力したときにシェルが検索するディレクトリのコロン区切りのリストです。

設定方法は?

PATH=$PATH:/your/directory
export PATH

ターミナルを開くたびにPATHにとどまるにはどうすればよいですか?

前の2行を~/.bash_profile内に配置します(ターミナルにbashを使用している場合)。

5
Pigueiras

PATHは、UNIXライクなシステムの環境変数です。

パスを設定:

export PATH=$PATH:<your path>

未設定のパス:

unset $PATH

パスを永続的に設定

ホームフォルダで、[表示]-> [隠しファイルを表示...]を有効にします。ペン.bash_profileファイル、PATH行をエクスポートする前に、この行を追加します。

PATH=$PATH:<yourpath>

ログアウトして再度ログインする......その動作を確認してください...それはうまくいくはずです...

3