2016-10-25 3 views
0

파일입니다. 나는이 작업을 수행 할 수 있다는 사실을 알고 : A |tee myfile.log, 또는 A > myfile.log 그러나스크립트 B에서 전화 스크립트 A, 및 쓰기 출력은 내가 두 개의 스크립트, A와 B</p> <p>내가 파일에 스크립트 A로부터 모든 터미널 출력을 캡처 할 필요가

를, 내가 스크립트 B에서 작업을 수행 할 때, 그것은 (스크립트 A는 잘 실행하지만 출력이 리디렉션되지 않습니다) 작동하지 않습니다.

Ex. 스크립트 A :

echo "I'm script A" 

예. 스크립트 B :

echo "Starting script B" 
A |tee myfile.log 
echo "Finished script B" 

./B.sh 

출력 :

I'm script A 

답변

2

이 나를 위해 충분히 잘 작동하는 것 같다. 스크립트 'a'가 $ PATH에 없기 때문에 ./이 필요합니다. ./은 '$ PATH에 지정된 모든 디렉토리를 보지 않고 현재 디렉토리에서 내 스크립트를 찾습니다'라고 말합니다.

#!/bin/bash 
echo "Starting script B" 
./a.sh | tee myfile.log 
echo "Finished script B"