쓰기 위해 파일을 열고 파일 설명자를 사용하는 셸 구문은 다음과 같습니다.
exec 3>output.log
bash와 zsh를 사용하여 다음을 작성할 수도 있습니다.
exec 13>output.log
따라서 나중에 스크립트에서 다음과 같이 출력을 리디렉션할 수 있습니다.
generate-partx >&3
generate-partx >&13
그리고 닫으세요:
exec 3>&-
exec 13>&-
원래 ksh(88 및 93으로 테스트됨)는 이 구문을 사용하여 파일 설명자 번호 0부터 9까지만 지원하는 것으로 보입니다.
물론, 10개의 열린 파일 설명자이면 모든 사람에게 충분하거나 더 이상 ksh를 사용하는 사람이 없다고 주장할 수도 있습니다.
그러나 때때로 그것은 사실이 아니며 당신은 그렇습니다.
그래서 내 질문은: ksh 스크립트에서 10개 이상의 파일 설명자를 어떻게 열 수 있습니까?
답변1
에서는 ksh
단일 숫자만 명시적 파일 설명자로 사용할 수 있습니다. 위 기능을 사용하면 ksh93r
다음 형식을 사용하여 10개 이상의 파일 설명자를 열 수 있습니다.
{var}>filename
( 이 기능은 나중에 복사 bash
되었습니다 )zsh
.
ksh
10보다 크거나 같은 사용 가능한 파일 설명자가 선택되고 파일 설명자 번호가 변수에 저장됩니다 var
.
$ exec {var1}>/tmp/test1
$ echo "$var1"
10
$ exec {var2}>/tmp/test2
$ echo "$var2"
11