$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を使った凝ったプログラムにはまだしてない。