【linux】標準入力をファイルに書き出すシェルスクリプト
#!/bin/bash while read line do echo "$line" >> /tmp/test.txt done exit 0
対話型コマンドの標準入力に渡される内容を見たいとき、こんなスクリプトでファイルに書き出せる。
何に使いたくて書いたのかというと、
- phpのmail()関数でメールを送るとき、sendmail_pathで指定されたコマンド(デフォルトは /usr/sbin/sendmail -t -i)を使う。
- ある環境で、どうも動作が怪しい。
- sendmailコマンドに渡された内容を見たい。
- そこでsendmailコマンドをこのスクリプトにすりかえてみた。
というわけです。
php.ini などで sendmail_path をすり替えてやると、こんな感じで、ヘッダも含めて全部見えます。デバッグやテストに使えます。
$ less /tmp/test.txt To: xxxxxx@softel.jp Subject: test Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: BASE64 dGVzdA==
コメント