Tracの閲覧・編集・管理権限は細かく分かれていて、ユーザーごとにどの権限を付与するかを管理ツール「trac-admin」を使って付与できるようになっています。
ただ、コマンドラインだけでパーミッションを付与するのは骨が折れるので、スクリプトを使って処理することにしました。
というわけで、Perlと、汎用的にするためにGetopt::Longの出番。シェルスクリプトよく知らないので・・・(^^ゞ
とりあえずGetopt::Longを使うに当たり、躓いたところをメモしておこうと思います。
とはいえ、難しいモジュールではないので、以下のように書けばOK。なお、文中の%argvはコマンドラインの解析結果が入るハッシュリスト。デフォルト値などを設定できますが、必要なければ値を設定する必要はありません。
use Getopt::Long; my %argv; GetOptions(\%argv, "a=s", "b"));
このスクリプトを
scriptname.pl --a=a --b
として起動すれば、argv{a}にa,argv{b}に1が入ります。=s*1を書いていないパラメータに=をつけるとパラメータが指定されていないと怒られるので注意。まあ、普通に考えてみればわかりますけどね(^_^;
一応
use Getopt::Long; my %argv; GetOptions(\%argv, "a", "b"));
として
scriptname.pl --a=a --b
で警告が出てはまりましたよ、というわけで。
*1:sは文字列のs、同様にiとすれば引数を数値のみに絞ることもできるそうです