次: , 前: history file, 上: Administrative files


C.12 管理用ファイルにおける変数展開

管理用ファイルを記述するときに、cvs の動作環境についての 色々な情報を利用したい場合があると思います。 ここでは、その実現方法を幾つか紹介します。

cvs を実行した人物のホーム・ディレクトリを (環境変数 HOME から) 参照するには、 `/' または行端の直前に `~' を記述します。 同様に user のホーム・ディレクトリは、 `~user' と記述します。 これらの変数はサーバ側で展開されるため、pserver (see Password authenticated) を用いる場合には正しく展開されません。 この場合、cvs を実行する人物が動作を変更できるように、 ユーザ変数 (下記参照) を用いると良いでしょう。

cvs 内部の情報を参照したい場合もあると思います。 cvs の内部変数は ${variable} という書式で参照できます。 この variable は文字で始まり、 アルファベットと `_' から構成されます。 variable に続く文字がアルファベットや `_' でない場合は、 `{' と `}' とを省略しても構いません。 参照可能な cvs の内部変数には次のようなものがあります:

CVSROOT
cvs が使用中のルート・ディレクトリを示します。 ルート・ディレクトリの指定方法は、See Repository.
RCSBIN
cvs 1.9.18 以前では、これは cvs が rcs プログラムを探す 場所を指定していました。cvs はもう rcs プログラムを実行しま せんので、今はこの内部変数を指定するとエラーになります。
CVSEDITOR
VISUAL
EDITOR
これらは cvs が使用するエディタを示し、 全て同じ値に展開されます。 指定方法の説明は、See Global options.
USER
cvs を実行する人物の (cvs サーバでの) 名前に展開されます。

ユーザ変数を用いれば、cvs を実行する人物が、 管理用ファイルで用いる値を自由に設定できます。 ユーザ変数は、管理用ファイルに ${=variable} と記述します。 ユーザ変数の設定は、cvs の広域オプション `-s' に、 引数 variable=value を続けます。 このオプションは .cvsrc に記述しておくと良いでしょう (see ~/.cvsrc)。

例として、実験用ディレクトリを管理用ファイルから参照するため、 ユーザ変数 TESTDIR を用います。それから、以下のように cvs を起動し、

     cvs -s TESTDIR=/work/local/tests

管理ファイルに sh ${=TESTDIR}/runtests と書いてあれば、文字列 は sh /work/local/tests/runtests に展開されます。

`$' が上記以外の解釈を受けることはありません。 また `$' 自身を表現する別の方法も用意されてないため、 `$' という文字を引用することはできません。