2014-12-11 2 views
0

zip과 tar에서 3 개의 파일을 압축하고 비교할 시간을 측정하는 스크립트를 만들었지 만 시간의 출력을 파일로 리디렉션하려고하면 저장된 출력이 tar 및 누군가를 도와 줄 수 있을까요?시간 출력 리디렉션

#!/bin/bash 
if [ "$#" != 3 ] 
    then 
    echo "usage $0 file1 file2 file3" 
    exit 
fi 

echo "Start\n" 
echo "First zip:" > time.txt 
time >> time.txt zip -r $1.zip $1 
echo "first zip done" 
echo "first tar:" >> time.txt 
time >> time.txt tar czf $1.tar.gz $1 
echo "first tar done" 
echo "second zip:" >> time.txt 
time >> time.txt zip -r $2.zip $2 
echo "Second zip done" 
echo "second tar:" >> time.txt 
time >> time.txt tar cfz $2.tar.gz $2 
echo "Second tar done" 
echo "third zip:" >> time.txt 
time >> time.txt zip -r $3.zip $3 
echo "third zip done" 
echo "third tar:" >> time.txt 
time >> time.txt tar cfz $3.tar.gz $3 
echo "third tar done" 
rm *.zip *.tar.gz 
exit 

감사

답변

1

이 시도 :

먼저

>time.txt 

다음 (쉘 스크립트의 상단에) 빈 time.txt 파일을 작성, 각 우편 명령 수행 다음과 같은 내용 (참고 : ';'은 '} 앞에 중요합니다.':

{ time zip -r $1.zip $1 > /dev/null 2>&1; } 2>>time.txt 
+0

고마워, 그게 효과가 있었지만 stderr을 stdout 리디렉션으로 삭제 한 경우에만 time.txt 파일에 에코가 포함되어있었습니다. – flapedriza