アプリ版:「スタンプのみでお礼する」機能のリリースについて

Linux初心者です。

JDK6.0をインストールして、環境変数を次のように設定しました。
export JAVA_HOME=/usr/local/jdk1.6.0
export PATH=$JAVA_HOME/bin:$PATH
これで一旦はjavacやjavaコマンドが使えるようになるのですが、
bashを再起動すると、また使えなくなるので再設定しなければなりません。

調べてみた所、homeディレクトリの.bash_profileを変更すると
再設定の必要がなくなると書いていたので、
# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
PATH=~/bin:"${PATH}"
→ export JAVA_HOME=/usr/local/jdk1.6.0
→ export PATH=$JAVA_HOME/bin:$PATH
fi

と記述してみたのですが、やはりbash再起動後のPATHに
上記のパスは含まれていません。
私の記述方法が間違っているのでしょうが、
どうすれば自動的にパスを通すように設定できるのでしょうか?

ターミナルはubuntu6.10からGNOME端末を使用しています。
よろしくお願いします。

A 回答 (6件)

#2の方が書いていますが、source ~/.bash_profile でどうなりますか?


あとは、/etc/profile の末尾にでも set -x を書いてみて実行されるコマンドを表示してみるとか。
    • good
    • 0
この回答へのお礼

ご回答感謝します。

source ~/.bash_profileでは、何も表示されません。
ですがその後、java/javacコマンドが使えるようになってます!
しかしターミナルを再起動するとまた使えなくなってます・・・。

/etc/profileの末尾にset -xを加えてみましたが・・・
それからどうすればいいのか解かりません。。。

よろしくお願いします。

お礼日時:2007/03/21 15:48

/etc/profile.d


がありますか?
もし,あればそのディレクトリの中に
javaenv.shというファイルを作って
そこには
export JAVA_HOME=/usr/local/jdk1.6.0
export PATH=$JAVA_HOME/bin:$PATH
と書いとけばよいかもしれません.

ついでにcsh用には
javaenv.csh
setenv JAVA_HOME=/usr/local/jdk1.6.0
setenv PATH=$JAVA_HOME/bin:$PATH

ubuntuのドキュメントの起動時の動作
(スクリプトの実行順儒)について
書かれているものがあれば,それを見るのが一番です.
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
/etc/profile.d
は、私のシステム内にはありませんでした、、

JDK6.0をいくらいじっても全く改善の余地が無かったので、
本日JDK5.0を駄目元で入れてみたのですが、、、

・・・一発でパス通りました。

とりあえず今は5.0でやっていこうと思います。
それにしてもJDK5.0と6.0の違いは一体何だったんでしょうか。。
回答していただいた皆さん、御世話になりました!
どうもお騒がせしました。

お礼日時:2007/04/03 14:40

んー。


~/.bashrc になんて書いてあるのかが気になるところです。

ひょっとして ~/.bash_profile に

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi


このような記述がどこかに書いてあったりしませんか? ~/.bashrc が実際に存在している場合、ここが走ると ~/.bashrc に書かれている内容で上書きされちゃう気がします。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

~/.bash_profile中に同じ記述がありました!
# include .bashrc if it exists
if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi

~/.bashrcもホームディレクトリ下に存在していますし、
こいつが原因なのか!と思いつつも、
中身見ると長いコードが書いてあるし、
削除するのはまずいかなーと思って

# include .bashrc if it exists
#if [ -f ~/.bashrc ]; then
#  . ~/.bashrc
#fi

コメントアウトしてみました。
が、ターミナルは変わらず・・・です。。

私のパソコンがおかしいのでしょうか??

お礼日時:2007/03/21 15:39

# set PATH so it includes user's private bin if it exists


if [ -d ~/bin ] ; then
 PATH=~/bin:"${PATH}"
fi

このコードの意味は,もしもホームディレクトリの下に,binというディレクトリがあったら,それをPATHに追加するという意味になります.
コメントの英文も,それを意味しています.

このifのブロックの中に書いたものは,binというディレクトリがホームディレクトリ以下に存在していないと,実行されません.

export JAVA_HOME=/usr/local/jdk1.6.0
export PATH=$JAVA_HOME/bin:$PATH

これを,if ~ fi の中に書いてしまったので,実行されていないのでしょう.

常に,javaがPATHに追加されるようにするには,fi より後ろに書いて,ifのブロックの外に出さなくてはなりません.
    • good
    • 0
この回答へのお礼

ご回答に感謝します。

# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
PATH=~/bin:"${PATH}"
fi

このコードはそういう意味だったんですか。私のホームディレクトリ以下にbinというディレクトリがあった覚えはありませんので、実行されるはずないですよね。

# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
PATH=~/bin:"${PATH}"
fi
JAVA_HOME=/usr/local/jdk1.6.0
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

早速、if~fiの外側に抜き出してみました。
しかし、やはり環境変数は設定されていません・・・
再起動した後にも試しましたがやはり同じでした。

念のため
JAVA_HOME=/usr/local/jdk1.6.0
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

export JAVA_HOME=/usr/local/jdk1.6.0
export PATH=$JAVA_HOME/bin:$PATH
に書き換えても試してみましたが、同じ結果でした。

ターミナルウィンドウにコピペすると、すぐに(その端末内では)使えるようにはなるので、記述自体は間違ってないとは思うのですが・・・

お礼日時:2007/03/20 18:38

.bash_prifileを編集後にログインし直すか、


source ~/.bash_prifile
とコマンドを打ってもダメでしょうか?
    • good
    • 0
この回答へのお礼

lowrider_2005さん、度々のご回答ありがとうございます。

.bash_profile編集後ログインし直してもダメだったので、
再起動もしてみましたが、結果は同じでした・・・

他に原因があるかもしれないので、
一応.bash_profileファイル全体を貼ってみます。

# ~/.bash_profile: executed by bash(1) for login shells.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/login.defs
#umask 022

# include .bashrc if it exists
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
PATH=~/bin:"${PATH}"
JAVA_HOME=/usr/local/jdk1.6.0
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
fi

このシステムのユーザーは私一人なので、読み込まれないprofileを編集している筈はないと思うのですが・・・

よろしくお願いします。

お礼日時:2007/03/20 13:51

JAVA_HOME=/usr/local/jdk1.6.0


PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

と書いてみるとどうなりますか?
    • good
    • 0
この回答へのお礼

素早いご回答ありがとうございます!

.bash_profile内の、

export JAVA_HOME=/usr/local/jdk1.6.0
export PATH=$JAVA_HOME/bin:$PATH

という記述を

JAVA_HOME=/usr/local/jdk1.6.0
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

に変えてみたのですが、やはりjavacコマンドは使えませんでした。
これを端末に打ち込めばいとも簡単に使えるのですが・・・

お礼日時:2007/03/20 12:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!