#navi(FAQ) カテゴリー: システム管理

PATH(パス)を通す,とはどういうことですか?

2005-03-20 23:56:11 (日)投稿
登録者: Plamodocs Project

シェルはコマンド行から入力されたコマンドの位置を知るために,path 変数を使います.環境変数 PATH に含まれている(path が通っている)位置にあるコマンドならば, コマンド名だけの入力で,シェルはそのコマンドを実行します.

plamo の場合,基本となる path は, /etc/login.defs の ENV_PATH で設定されている,

PATH=/usr/local/bin:/bin:/usr/bin

になります. 次に使用するシェルによって,bash の場合は /etc/profile の次の設定によって,

PATH="$PATH:/usr/X11R6/bin:/usr/local/netpbm:$OPENWINHOME/bin:/usr/games/bin:/usr/games"

tcsh/cshなら /etc/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 を追加する時は,次の方法を使います.

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

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

現在の path に,一時的に追加したい path を設定する時は,コンソールや X 上の kterm などで,bash なら,

~$ export PATH="$PATH:<追加したい path 名>"

を実行します.tcsh なら,

~% set path = ( $path <追加したい path 名> )

を実行します.

一時的に追加した場合は,ログアウトしたり,追加のコマンドを実行した仮想コンソールや kterm を終了すると,追加の設定は無効になります.


この件に関して追加情報などありましたら、以下にどうぞ;




トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-12-17 (金) 16:35:40