2016-07-29 7 views
0

제 용어 나 구문이 별 것도 아닌 경우 (아직 배우는 경우) 제발 도와주십시오. 현재 명령의 인수를 검사하고 텍스트와 일치하는 파일 이름을 출력하는 간단한 bash 스크립트가 있습니다. 이 스크립트의 일부는 grep 명령을 통해 올바르게 작동하고 xargs에 파이프하여 올바른 형식을 지정합니다.BASH는 실행시 새 파일에 stdout을 저장합니다.

스크립트를 실행할 때 값이 널 (null)인지 확인하기 위해 간단한 루프를 실행 한 다음 변수가 없으면 내 변수/검색 실행으로 이동합니다.

내 질문은 :이 스크립트는 stdout을 통해 출력 할 수 있습니까? 또한 사용자 입력 및 날짜/시간으로 실행할 때마다 새 파일을 저장할 수 있습니까? (덮어 쓰지는 않음) EX : report-bob-0729161500.rpt

tee 명령을 사용하는 것과 동일한 다른 제안을 보았지만 스크립트 내에서 작동하도록했습니다. 비슷하게, 또 다른 제안은 exec>> (tee -i logfile.txt)를 사용하도록 명시되어 있지만, 스크립트가 실행될 때마다 날짜/시간 및 $ 1 입력을 새 파일에 올바르게 포함하는 방법을 잘 모르겠습니다.

도움이나 제안 된 리소스가 있습니까?

감사합니다.

SEARCH=`[search_variable]`                 

    if [ -z "$SEARCH" ]                    
    then                        
    echo "$1 not found."                    
    else                        
    echo -e "REPORT LISTING\n\n"                 
    echo "$SEARCH"                      
    fi 

EDIT : 나는 echo 명령문을 작동시키는 tee 명령에 간단히 연결하려고했습니다. 그러나 대체 방법을 통해이 같은 작업을 수행 할 다른 제안이 있다면 궁금합니다. 고맙습니다. 에코 문으로

은 티로 파이프 (? 적절한 추가 사용)

SEARCH=`[search_variable]`                 
    DATE=`date +"%m%d%y%k%M"`   

    if [ -z "$SEARCH" ]                    
    then                        
    echo "$1 not found."                    
    else                        
    echo -e "REPORT LISTING\n\n" | tee tps-list-$1-$DATE.rpt                
    echo "$SEARCH" | tee tps-list-$1-$DATE.rpt                      
    fi 

답변

0

를 스크립트, 왜 그럼 그냥 에 모두 표준 출력과 파일을 작성하지 내에서 그것을 을하고 싶은 경우 . 글자가 조금 더 많을 수도 있지만 완전히 제어 할 수 있습니다.

레온

+0

정직하게 말하자면,이 방법에 대한 최선의 방법은 확실하지 않아서 티에 대한 두 가지 제안을 포함 시켰습니다. 나는 스크립트 내에서 그것을 갖고 싶어하지만, 각 라인을 리디렉션하는 것은 불필요한 것처럼 보입니다. 나는 스크립트 내에서 티를 사용하거나 내가 모르는 다른 명령을 사용하여 새로운 파일을 만들 것입니다 (하나의 로그 파일을 추가하지 않음). – NewBashUser226