$0 CMD FILE [MESSAGE_HEAD]
機能:
URLで示されるファイルをローカルの指定ディレクトリに保管する。
引数:
このコマンドの実行には、2個または3個の引数を必要とする :
1番目の引数CMDは実行するコマンドを表す文字列 'ls' や 'crontab -l ' や 'last' など。
2番目の引数DIRは、Gitのレポジトリであるローカルのディレクトリの下におくファイルのパス名
3番目の引数STRは、Gitのコミットのメッセージに残す文字列(ファイルの内容の短い説明など)。
引数のオプション :
--push : git pushも行う。
--catchf : コマンドの実行に失敗した場合でも、処理は進める。 ( catch failure で名前は考えた。)
想定されている目的:
+ インターネット上に公開されている任意のファイルをGitレポジトリに保管する。
+ URLで指定できる特定のファイルを、cronで定期的にダウンロードして、保管する。
利用例 :
cmdout2git date date date # date というコマンドを実行して、date というファイルに結果を保管し、dateというコミットメッセージを先頭に、gitのレポジトリにコミット。
cmdout2git 'ls -l' ls-l 'ls -l' # コマンド ls -l を実行して、ファイル ls-l に結果を保管し、コミット。メッセージは ls -l で始まって、いろいろ補助情報を追加。
cmdout2git last last last --push # 誰がログインしたのか、再起動(reboot)がいつ行われたのか、が分かる。さらに、リモートレポジトリに push する。
git remote -v # どこにpushされるか知りたいときに便利。
必要な準備:
1. Gitレポジトリを用意すること。そのレポジトリにするディレクトリで、"git init" を実行しておくこと。
開発メモ :
* 関数qxで実行したシステムコマンドが、短い時間で終了しない場合が厄介。forkを使った凝ったプログラムにはまだしてない。