みなさん、こんにちは。
前回はファイル形式のマクロでしたが、「♪♪花は桜木、マクロは variable
~」というわけで今回は variable
形式です。ここから TACL のいろいろな要素が出てきます。
まずは、マクロのソースファイルを作ります。次の2行をファイルに書いて、どこかの subvol
に置きましょう。
今回、ファイル名は何でもかまいません。ここでは $vol.subvol.macsrc
と仮定します。
あ、そうそう、前回のファイル形式では、ファイル名=マクロ名でした。つまり1ファイルに1マクロしか記述できませんでした。variable
形式の場合、マクロソースファイルには複数のマクロを記述することができます。?section
の行から次の ?section
が現れるまでが1つのマクロとして扱われます。まずは1マクロだけ記述してみます。
ソースを用意できましたか?ではそれを自分の環境に読み込ませましょう。いや待て、1つ確認しておきたいことがあります。あなたの環境には誰かが作った fi
マクロが読み込まれていると思いますが、同様に ls
マクロが読み込まれていませんか?それを確認するには以前出てきた手法を使いましょう。
と表示されればクリーンな環境です。もし、すでに登録されていたら、既存の ls
マクロを上書いてしまいますので、その場合は、おとなしくこちらのマクロ名を変えましょう。例えばマクロ名を xxxls
にするなら
ということですね。
さて、今度こそ読み込みです。次のように実行します。
無事読み込めたら
のように表示されるはずです。“LS
” が表示されることで、ls
マクロが使えることが分かります。varinfo
や outvar
も確認しておきましょう。
で問題ありませんね。それでは実行です。
どうですか。fileinfo
や fi
と同じ結果が得られたと思います。前回の
よりも遥かに少ないタイピングでマクロを実行できるようになりましたね。
いま作ったマクロの type
は macro
だったので、本来の alias
で作り直してみましょう。ソースファイルを次のように修正します。
1行目が alias
に代わり、2行目からパラメータが消えました。alias
はコマンドの読み替えを宣言するものなので、alias
自体にはパラメータを付けることができません。ではこのソースを読み込んで
varinfo/outvar
で確認してみましょう。
OK、ちゃんとあります。実行してみても
で fileinfo
と同じ結果が得られます。これで variable
形式のマクロを作成・実行することができるようになりました。
今回はここまで、次回は時刻の扱いや variable
の「展開」などをお話しします。Au revoir!