人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Linux RHEL3 コンソール上での質問です。
ある標準出力を吐き出すプログラムを、日付区切りのファイル2ヶ所にログ書出ししたく、下記のようなシェルスクリプトを作ったのですが、3行目で標準入力を受け取ってくれません。

#!/bin/sh
LOGDATE=`date +%Y%m%d`
tee -a /usr/test/log1.$LOGDATE >> /usr/test/log2.$LOGDATE

シェルがどのように標準入力の受けとるのか全く分からず作っていますのでどんちんかんな質問かもしれませんが、よろしくお願いいたします。

●質問者: kamiochiai
●カテゴリ:ウェブ制作
✍キーワード:/bin/sh Linux test ちんか シェル
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● 黒猫
●65ポイント

http://homepage2.nifty.com/cs/linux_command/command/tee.html

$BF|7P(JLinux [Linux$B%3%^%s%I=8(J] tee : $BI8=`F~NO$rI8=`=PNO$H%U%!%$%k$K=PNO$9$k(J

tee の使い方が疑問です。


tee は、標準入力を指定されたファイルと標準出力に出力します。

なので、以下のようにします。


#!/bin/sh

LOGDATE=”`date +’%Y%m%d’`”

echo ”hogehoge” | tee -a /usr/test/log1.$LOGDATE >> /usr/test/log2.$LOGDATE


最初に標準出力があることがポイントです。

標準出力からパイプで標準入力として tee に繋ぎます。

引数をログに出したいときは…


echo ”$*” | tee -a /usr/test/log1.$LOGDATE >> /usr/test/log2.$LOGDATE


となります。


ちなみに、シングル/ダブルクォーテーションとかは、僕の癖なので気にしないでください(^^ゞ

http://www.ybi.co.jp/koike/src/BSH.htm

Bシェルスクリプトのすすめ

◎質問者からの返答

記入が不足してました。

ある標準出力を吐き出すプログラムがあり、それの受け口として使うシェルスクリプトです。

aruscript | konoscript.sh

といった形で受け渡しされており、ここに手を加えることが出来ないため質問の形になりました。

【追記】2006/2/15 23:30

なお、下記は正しく標準入力が tee にわたるので問題ありませんでした

#!/bin/sh

tee -a /usr/test/log1 >> /usr/test/log2

質問の内容は

http://oshiete1.goo.ne.jp/kotaeru.php3?q=1508581

とほぼ同じなのですが、書いてある内容をもっと詳しく知りたいです


2 ● tezcello
●65ポイント

> 3行目で標準入力を受け取ってくれません

これは、エラーで止まってしまうという事でしょか、

それとも、エラーは出ないが、予定通りのファイルが作成されない、

あるいは作成されるが、内容が無い...

こういった所に、問題解決のヒントが隠れていませんか?

出来るだけ多くの情報を開示すると、より的確な回答を早く得る事に繋がります。


自前のサーバ(Vine Linux 3.2)で問題のスクリプトをテストしてみたら、アッサリと動いてしまいました。


$ cat test.sh

#!/bin/sh

LOGDATE=`date +%Y%m%d`

tee -a log1.$LOGDATE >> log2.$LOGDATE


$ date +%Y%m%d

20060217

$ echo first > log2.20060217

$ ls

log2.20060217 test.sh

$ echo second | ./test.sh

$ ls

log1.20060217 log2.20060217 test.sh

$ cat log1.20060217

second

$ cat log2.20060217

first

second


シェル変数 LOGDATE を使わない時は上手くいっているようですから、

チャンと変数に予定通りの値がセットされているかを確認されては?

◎質問者からの返答

確認してみます。

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ