森山です。
みなさん、早速の回答ありがとうございます。
On Fri, 28 Jan 2005 12:15:45 +0900
"OOSATO,Kazzrou" <kazz@xxxxxxxxxxxxxx> wrote:
> > .bashrc 内に、以下を追記すると
>
> 追記しようとしたときに、最初のコメント
> # User specific aliases and functions
> が目に入ると思います。
>
> いっぽう、.bash_profile には、
> # User specific environment and startup programs
> とありますよね。
おっしゃる通りで、PATH 等は、.bash_profile に記述すべきで、
.bashrc に 記述すべきではないようです。ただ、.bash_profile に
記述した場合、2重登録となったので、では .bashrc に記述すると
どうなるのかと試してみたら 5 重登録となった為、この .bash_profile
や .bashrc を 追加起動している一連の動作は正常なのかと疑問に思い
質問しました。しかしながら、誤解を招くような説明でした。
On Fri, 28 Jan 2005 03:01:30 +0900
"IWAI, Masaharu" <iwai@xxxxxxx> wrote:
> 私の環境では、
> /etc/X11/xinit/xinitrc が /bin/bash -login で実行されるから
> ~/.bash_profile が呼ばれますね。
> また、/etc/X11/xinit/xinitrc.d/setime が /bin/bash で実行されるから
> ~/.bashrc が呼ばれますか。
>
> で、森山さんのメールには書かれてないですが、きっと export している
> んですよね? そうだとすると意図された動きであると思います。
> # 4 回なのは環境によるのかな? 私も全部みた訳じゃないけど。
回数は別として、 CUI での login 後の X 起動時に追加起動される
動作その物は、正常な動作のようですね。
On Fri, 28 Jan 2005 03:48:23 +0900
Fujita Yoshihiko <starfish@xxxxxxxxxxxxxxxx> wrote:
> 藤田と申します。
>
> Date: Thu, Jan 27, 2005 at 11:14:30PM +0900
> Subject: [vine-users:070074] user 環境の設定について
> Message-Id: <20050127231430.0127dd58.forest@xxxxxxxxxxxxx>
> function addpath ()
> {
> export IFS=":"
> for f in $@
> do
> tmp=`echo $PATH | tr ' ' '\012' | grep "^${f}$" | tr -d '\012'`
> if [ "x" != "x$tmp" ]; then
> echo already exist path
> else
> echo adding $f
> PATH=$PATH:$f
> fi
> done
> export PATH
> export IFS="
> "
> }
>
> というシェル関数を作って、
> addpath path1:path2:path3
> などとしています。
> もう少しうまくかけるような気もするけれど、とりあえず
> これなら、.bashrc でも .bash_profile でも
> どちらにおいても問題ないと思います。
> ちなみに、パスにスペースがあるとうまく動きません。
.bashrc 内に [ # User specific aliases and functions ]と有りますが、
そのものズバリ 関数を登録 するとは思わなかったので、勉強になり
ました。
On Fri, 28 Jan 2005 09:18:00 +0900 (JST)
Masaki Kawamura <kawamura@xxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> シェル関数 addpath()は /usr/share/vine/vinelib に入っています。
> パッケージは vutils-1.22.2-0vl1 です。
> Vine Linux 2.5 or 2.6頃は使われていましたが、3.0になってから
> /usr/share/vine/vinelib が読み込まれていないようです。
> # 時間がなくてトレースしていませんが。
>
> addpath /hoge で PATH=$PATH:/hoge 相当を行い、
> addpath -p /hoge で PATH=/hoge:$PATH 相当が行えます。
> もちろん重複チェック付きです。
> また、存在しないパスを指定すると、加えません。
> # これはautomountの場合を考えると、仕様を変更した方がいいかも?
> ちなみに、rmpathもあります。
おお、こうゆうのが有ったのですね。早速使用してみました。
.bashrc に、以下のように登録し、
# User specific aliases and functions
. /usr/share/vine/vinelib
.bash_profile に以下のように登録しました。
# User specific environment and startup programs
addpath /usr/local/j2sdk/bin
これにより、2重登録が解消されました。みなさんどうも
ありがとうございました。
# ところで、.bashrc. と bash_profile 及び addpath あたりは、
# マニュアルに記載が有っても良いように思うのですが...
# ( 私が見落としたのかな〜 )
--
K.Moriyama