-1

私はcsvファイルを生成しているシェルスクリプトを書いています。その後、このcsvファイルをlinuxのmuttコマンドで添付して送信します。しかし、問題は、csvファイルが生成されず、muttコマンドが実行され、ファイルが見つかった 。したがって、csvファイル生成のコマンドが完了した場合、muttコマンドのみが実行されることを確認できる方法はありますか.以下は、2つのステートメントが次々に実行されたスクリプトの内容です.

mysql --user=root --password= erpint -B -e "select * from user_info;" | sed      "s/'/\'/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" > /home/mayuri/detail.csv
mutt -s "Mutt attach" srini@erpint.com -a /home/mayuri/detail.csv < /home/mayuri/detail.csv
4

3 に答える 3

0

したがって、文字通り、ファイルが存在するのを待ちます。

while [ ! -f /home/mayuri/detail.csv ]; do
    sleep 1
done
mutt -s "Mutt attach" srini@erpint.com -a /home/mayuri/detail.csv < /home/mayuri/detail.csv
于 2013-07-03T13:07:51.850 に答える
-1

$? を使用できますか? 前のコマンドが正常に実行された場合は 0 に、失敗した場合は 1 に設定されます。

    mysql --user=root --password= erpint -B -e "select * from user_info;" | sed      "s/'/\'/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" > /home/mayuri/detail.csv
    if [ $? -eq 0 ]; then
      mutt -s "Mutt attach" srini@erpint.com -a /home/mayuri/detail.csv < /home/mayuri/detail.csv
    fi
于 2013-07-03T13:28:14.020 に答える