2013-06-24 5 views
1

저는 UBUNTU 12.04를 사용 중입니다.상위 쉘 스크립트 이름 얻기

특정 프로세스의 출력을 기록하는 쉘 스크립트가 있습니다. 기록되는 프로세스는 로깅 스크립트를 호출 한 상위 쉘 스크립트에 따라 변경됩니다. 이 로깅의 출력을 디스크의 파일에 기록하고 싶지만 파일의 이름을 지정하는 데 문제가 있습니다.

부모 스크립트의 이름에 따라 이름을 지정하고 싶습니다. 불행히도 나는 스크립트에서 그 이름을 얻는 방법을 전혀 모른다. 최선의 방법은 상위 PID ($PPID)를 추출한 다음 스크립트 이름을 찾는 데 사용하는 것이지만 그 방법을 알지 못한다고 상상해보십시오.

답변

7

이 작업을 수행하기 위해 농구대를 건너 뛰지 말고 부모님에게 FD4라고 말하면서 로그를 열어 보도록하십시오. 그런 다음 로그 할 때마다 FD4로 작성하십시오.

# parent script 
exec 4>> parent.log 

# child script 
echo "Log me!" >&4 
+0

고마워요! 내가 고안 한 솔루션보다 훨씬 쉽습니다! – jhc

+0

정말 좋은 조언. – jm666

+0

+1하지만 자녀 호출 및 FD 종료로 더 나아질 것입니다. – l0b0