私はシステムで複数の画面を使用し、作業中の各ポイントに対して別々のセッションを使用します。これで、画面名に基づいて環境変数を設定しようとしています(分岐パスで画面名を指定しました)。私はこれを試しました~/.screenrc
:
screen -t "ABC-1234" bash -ic 'OUTPUTROOT=/home/me/src/NextGen/branches/ABC-1234/bin'
screen -t "ABC-1234" bash -ic 'SVN_ROOT=/home/me/src/NextGen/branches/ABC-1234'
screen -t "DEF-5678" bash -ic 'OUTPUTROOT=/home/me/src/NextGen/branches/DEF-5678/bin'
screen -t "DEF-5678" bash -ic 'SVN_ROOT=/home/me/src/NextGen/branches/DEF-5678'
しかし、うまくいかないようです。画面が「ABC-1234」または「DEF-5678」で、次のように新しいCtrl-a c
ウィンドウを開くと、環境変数は設定されません。
答え1
シェルスクリプトで画面を実行するだけです。
#!/bin/sh
SVN_ROOT=/home/me/src/NextGen/branches/ABC-1234 OUTPUTROOT=$SVN_ROOT/bin screen -dm -t "ABC-1234"
SVN_ROOT=/home/me/src/NextGen/branches/DEF-5678 OUTPUTROOT=$SVN_ROOT/bin screen -dm -t "DEF-5678"