私はraspbianを実行していて、このbashスクリプトを使用して毎分写真を撮り、それをFTPサーバーにアップロードしています。
#!/bin/bash
while [ 1 ]; do
DATE=$(date +"%Y-%m-%d_%H_%M_%S")
raspistill -q 10 -th none -o /home/pi/fb/$DATE.jpg
curl -T /home/pi/fb/$DATE.jpg ftp://myftpserver --user myuser:mypass >> /home/pi/fb/log.txt
sleep 60
echo finished $DATE >> /home/pi/fb/log.txt
done
の出力をファイルcurl
に表示したいのlog.txt
ですが、常にコンソールに出力されます。何故ですか?私も使ってみましたtee
が、何も変わりませんでした。
curlは、ステータスをstdoutではなくstderrに出力します。同じファイルにキャプチャstderrに、あなたは追加することにより、標準出力に標準エラー出力をリダイレクトする必要が2>&1
AFTERあなたの標準出力のリダイレクト:
curl -T /home/pi/fb/$DATE.jpg ftp://myftpserver --user myuser:mypass >> /home/pi/fb/log.txt 2>&1
stdoutとstderrをよりよく理解するのに役立つ示唆に富む質問については...なぜ前ではなく2>&1
最初の後になければならないの>>
ですか?
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加