« 頼むからデータだけでも返して! | トップページ | Study HTML 3 »

2008/02/22

端末を起動した時に任意のコマンドを自動実行させる

端末を立ち上げたら毎回確実に実行するであろうコマンド(screenとか)を毎回入力するのは面倒です。(煩わしくもある)

ならば、端末を起動したときに自動実行すれば・・・と思ったので、何かやり方はないかと調べてみました。

1.シェルの深さを調べる
 シェルには”深さ”というものが設定されていて、SHLVLという環境変数に深さの値が保持されています。この値を調べるには$ echo $SHLVLで調べることができます。ログインシェルだと値は「1」(coLinuxだとログイン直後はたぶんこの値)、子シェルだと値は「2」(LinuxをGUIでログインした後に端末を起動するとこの値)、孫シェルだと値は「3」になります。

2.自動実行するように設定する
 つまり私が考えた自動実行の方法とは、あるシェルの深さのときにコマンドを実行するようにさせようというものです。私はbashなので、ホームディレクトリ下の「.bashrc」に以下を追加します。(zshなら「.zshrc」)

if [ $SHLVL = 2 ]; then
   任意のコマンド
fi

私の場合はVMware上のFedoraをGUIでログインした後、端末を起動しているので$SHLVL = 2となっていますが、coLinuxなどでLinuxをCUIでログインしている人は$SHLVL = 1とすればいいと思います。

また、任意のコマンドにはScreenを起動したかったらscreenと記述し、Emacsだったらemacs &と普段入力するコマンドを記述してください。(複数のコマンドを記述することも可能です)

|

« 頼むからデータだけでも返して! | トップページ | Study HTML 3 »

Tools」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/222903/40214245

この記事へのトラックバック一覧です: 端末を起動した時に任意のコマンドを自動実行させる:

« 頼むからデータだけでも返して! | トップページ | Study HTML 3 »