From e779fc632bb1bbd5ba941ff1e523dbb24533ced0 Mon Sep 17 00:00:00 2001 From: Dave Young Date: Tue, 25 Jun 2013 16:15:45 +0800 Subject: [PATCH] monitor-dd-progress fix stdout if line buffered, thus even it's redirect to stderr, it will not show on console automaticly. Because monitor_dd_progress is only for rawdump currently, so I think we can just use "echo" instead of "echo -n". Another problem is sometimes CURRENT_SIZE does not get value when it's used in $(($CURRENT_SIZE / 1048576)), fix this issue as well. Signed-off-by: Dave Young Acked-by: WANG Chao --- dracut-monitor_dd_progress | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dracut-monitor_dd_progress b/dracut-monitor_dd_progress index 01a1567..e139d33 100644 --- a/dracut-monitor_dd_progress +++ b/dracut-monitor_dd_progress @@ -19,8 +19,10 @@ do kill -s USR1 $DD_PID CURRENT_SIZE=`tail -n 1 /tmp/dd_progress_file | sed "s/[^0-9].*//g"` - CURRENT_MB=$(($CURRENT_SIZE / 1048576)) - echo -n -e "Copied $CURRENT_MB MB / $SRC_FILE_MB MB\r" + [ -n "$CURRENT_SIZE" ] && { + CURRENT_MB=$(($CURRENT_SIZE / 1048576)) + echo -e "Copied $CURRENT_MB MB / $SRC_FILE_MB MB\r" + } done rm -f /tmp/dd_progress_file