次: , 前: 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 以前では、これは cvsrcs プログラムを探す 場所を指定していました。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 に展開されます。

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