ちょくちょくcshとbashの両方の設定ファイル(.cshrc, .bashrc)を書く必要があり、そのたびにそれぞれ環境変数の設定やらif文やらの書き方やらが違って混乱するので、まとめておきます。
cshの場合
if ( `hostname` =~ hd* || `hostname` == hserver ) then # ホスト名が hd から始まるマシン、または hserver ならば # 環境変数指定 setenv JAVA_HOME /usr/java/jdk1.6.0_12 setenv HADOOP_HOME /work/hadoop-0.21.0 # パスを通す set path = ($HADOOP_HOME/bin $path) # .jar ファイル全てを CLASSPATH に追加する foreach f ("$HADOOP_HOME"/*.jar) set CLASSPATH = ("$CLASSPATH":"$f") end foreach f ("$HADOOP_HOME"/lib/*.jar) set CLASSPATH = ("$CLASSPATH":"$f") end else setenv HADOOP_HOME /work/hadoop-0.20.2 # 略 endif # hadoopコマンドのエイリアス指定 alias hdls hadoop dfs -ls
bashの場合
if [[ `hostname` =~ hd* || `hostname` == hserver ]]; then # ホスト名が hd から始まるマシン、または hserver ならば # 環境変数指定 export JAVA_HOME=/usr/java/jdk1.6.0_12 export HADOOP_HOME=/work/hadoop-0.21.0 # パスを通す PATH=$HADOOP_HOME/bin:$PATH # .jar ファイル全てを CLASSPATH に追加する for f in "$HADOOP_HOME"/*.jar ; do export CLASSPATH="$CLASSPATH":"$f" done for f in "$HADOOP_HOME"/lib/*.jar ; do export CLASSPATH="$CLASSPATH":"$f" done else export HADOOP_HOME=/work/hadoop-0.20.2 # 略 fi # hadoopコマンドのエイリアス指定 alias hdls='hadoop dfs -ls'