2009-11-10 2 views
2

오늘 나는 아래의 성명을 보았던 작업 ksh 스크립트 [interactive]를 보았습니다. 저자뿐만 아니라이 아무것도를 사용하거나 >&1 말할 수있을 때이상한 파일 설명자로의 리디렉션 없음

printf "Enter the release no. : " >&5 

나는 >&5의 사용을 궁금해.

누군가가이 지점을 밝힐 수 있습니까? 사전에

감사

- 그는 아마 파일 설명을 다시 매핑거나 뭔가 특별한

예에 대한 파일 기술자 (5)를 사용합니까

+1

는 해당 스크립트의 더보기 전에 무엇을 스크립트의 자세한 내용을 확인하십시오. 그는 파일 디스크립터 5를 선언 할 수있다. 유용하고 실용적인 예제는 – ghostdog74

답변

5

Benil 일시적 /dev/null

#errors produced here go to stderr 
.... 
#now save stderr to fd 5 
exec 5>&2 
#redirect to /dev/null 
exec 2>/dev/null 
... 
# do stuff which errors are discarded 
...... 
# restore stderr from fd 5 
exec 2>&5 

에 오류를 리디렉션에 따라서

+2

+1입니다. 파일 설명자를 리디렉션하는 것은 뉘앙스를 배우는 데 시간을 할애하면 마법을 수행 할 수있는 기능 중 하나입니다. –

+0

지터, 네 말이 맞아. 저자는 먼저이를 정의했으며 stdout을 먼저 디스크립터 5에 매핑 한 다음 로그 파일에 매핑했습니다. 그런 식으로 표준 cmds 'o/p는 로그 파일로 간다. 가끔 화면에 뭔가를 인쇄 할 때 그는 desc5를 사용한다. 고마워. - Benil – Ben

+0

문제 없습니다. 그런 다음 대답을 수락합니다. – jitter