256bitの殺人メニュー

インフラエンジニアだったソリューションアーキテクトなくわののブログ。こちらのBlogは個人の意見となっていて会社とは全く関係ありません。お約束です。[twitter:@kuwa_tw]めんどくさがりが重い腰を上げて何かをアウトプットすることにどれほどの意味があるのかを試してみたいブログでもある。

シェルスクリプトで標準出力をファイルに出すようにする

おっさん力その1。
知らない人もいるのですなとおもって、メモ的に。

シェルスクリプトで標準出力をファイルに出す方法について
普通はあんまり使わないけど、監視サーバから叩かれるシェルのログを見たい時とかには使いますね。

テストコード

cat <<'EOF' >fdtest.sh
#!/bin/bash

# 標準出力(1)のFDを3に退避
exec 3>&1
# 標準出力をlogfileにリダイレクト
exec > logfile

echo "output file"

# 退避していたFDをもとに戻す
exec 1>&3

echo "output screen"
EOF

出力結果

kuwano@localhost:~/bin/test$ bash fdtest.sh
output screen
kuwano@localhost:~/bin/test$ cat logfile
output file

Classic Shell Scripting

Classic Shell Scripting

  • 作者: Arnold Robbins,Nelson H. F. Beebe
  • 出版社/メーカー: Oreilly & Associates Inc
  • 発売日: 2005/06
  • メディア: ペーパーバック
  • クリック: 3回
  • この商品を含むブログを見る