考虑以下虚拟备份脚本:
#!/bin/bash
echo "rsync started"
sleep 1 # rsync time
echo "rsync completed"
echo "starting upload"
sleep 5 # upload time
echo "upload completed"
和以下最小的启动脚本
#!/bin/bash
/path/to/backup.sh|awk '/^rsync completed/ {print "Restarting services"}'
echo "backup completed"
我原以为“重新启动服务”输出会在一秒钟后出现,但在 Debian Wheezy 下运行时,它会在 6 秒后出现。
我的错误在哪里?为什么将“rsync 已完成”字符串写入标准输出时不直接处理 awk 操作?