#navi(FAQ)
カテゴリー: システム管理
* PATH(パス)を通す,とはどういうことですか? [#r0185162]
RIGHT:2005-03-20 23:56:11 (日)投稿
RIGHT:登録者: Plamodocs Project
----
シェルはコマンド行から入力されたコマンドの位置を知るために,path 変数を使います.環境変数 PATH に含まれている(path が通っている)位置にあるコマンドならば, コマンド名だけの入力で,シェルはそのコマンドを実行します.

plamo の場合,基本となる path は, [[/etc/login.defs>http://plamo-linux.jp/plamo_faq.html#login.defs]] の ENV_PATH で設定されている,
 PATH=/usr/local/bin:/bin:/usr/bin
になります.
次に使用するシェルによって,bash の場合は [[/etc/profile>http://plamo-linux.jp/plamo_faq.html#profile]] の次の設定によって,
 PATH="$PATH:/usr/X11R6/bin:/usr/local/netpbm:$OPENWINHOME/bin:/usr/games/bin:/usr/games"
tcsh/cshなら [[/etc/csh.login>http://plamo-linux.jp/plamo_faq.html#csh.login]] の次の設定で,
 set path = ( $path /usr/X11R6/bin /usr/local/netpbm $OPENWINHOME/bin /usr/games/bin /usr/games )
上記の基本となる path($PATH や $path)に,それ以降の path が追加されています.~
現在ログインしているユーザの path 設定を確認する時は,
 ~$ echo $PATH
とすれば表示されます.
(~$ set|grep PATH や ~% set|grep path,env|grep PATH でも表示できます.)

ユーザが現在の path に,常時利用したい path を追加する時は,次の方法を使います.
+/etc/profile や /etc/csh.login に root 権限でそれぞれの書き方に習って設定する.~
(この方法はユーザ環境を設定するには勧められませんから,次の 2 の方法のほうが適切でしょう.)
+  ~
--bash の場合は,~/.bashrc に次のように追記設定する.
 PATH="$PATH:<追加したい path 名>"
--tcsh の場合は,~/.tcshrc に次のように追記設定する.( echo コマンドで書き込む方法もあります.)
 set path = ( $path <追加したい path 名> )
追加の設定をすぐに有効にしたい時には,どちらのシェルでも,
 ~$ source .bashrc(または,.tcshrc)
を実行します.(tcsh/csh には rehash コマンドもあります.)

※ セキュリティ上注意しておきたいのは,path にカレントディレクトリは含めない, という点です.詳しい理由は, [[[plamo:01004]>http://www.linet.gr.jp/ML/plamo/199901/msg00004.html]]を参照してください.

現在の path に,一時的に追加したい path を設定する時は,コンソールや X 上の kterm などで,bash なら,
 ~$ export PATH="$PATH:<追加したい path 名>"
を実行します.tcsh なら,
 ~% set path = ( $path <追加したい path 名> )
を実行します.

一時的に追加した場合は,ログアウトしたり,追加のコマンドを実行した仮想コンソールや kterm を終了すると,追加の設定は無効になります.
----
この件に関して追加情報などありましたら、以下にどうぞ;
#comment
#navi(FAQ)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS