[GNU Screen] .screenrc に環境依存の設定を書く方法

スポンサード リンク
LINEで送る
Pocket

zshなどのシェルでは設定ファイル内部で条件分岐を記述できるので,.zshrcに

if [ `hostname` = "hoge" ]; then 
  source $HOME/.zshrc_hoge
fi

と書けば,特定のホストhogeだけで.zshrc_hogeが読み込まれる。もうちょっとエレガント?にしたいなら次のようにも書ける。

[ -f $HOME/.zshrc_`hostname` ] &&  source $HOME/.zshrc_`hostname`

こうして様々な環境用の設定ファイルを統一しておくと,gitやらdropboxで設定ファイルを共有するときに非常に楽だ。マシンによってドットファイルの中身がばらばらで,どれが最新版なのかわからない,なんてことを防げるようになる。

非常に便利なので同じようなことをGNU Screenでもやりたいのだが,残念ながら.screenrcでは条件分岐が書けない。そこで,環境変数を使うことにした。

やり方は簡単。まずは .zshenv でマシンに応じた環境変数を設定しておく。

export SUFFIX=`hostname`

そして .screenrc で読み込むファイル名を環境変数で記述する。

source $HOME/.screenrc_$SUFFIX

こうしておけば,.screenrc_`hostname`にある設定を読み込んでくれる。この方法は,もちろんzshでなくてbashやcsh,tcshでも構わない。また,screenに限らずいろんなプログラムに応用できるはずだ。

関連する記事

LINEで送る
Pocket



カテゴリー: コマンドメモ, シェルスクリプト パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
また,TeX の記法で数式を入力する場合は [latexpage] とコメントの最初に入力してください(QuickLaTeX の機能です)。
例: [latexpage] $\frac{1}{2}$

ERROR: si-captcha.php plugin: GD image support not detected in PHP!

Contact your web host and ask them to enable GD image support for PHP.

ERROR: si-captcha.php plugin: imagepng function not detected in PHP!

Contact your web host and ask them to enable imagepng for PHP.