ksh를 사용하여 10개 이상의 파일 설명자를 엽니다.

ksh를 사용하여 10개 이상의 파일 설명자를 엽니다.

쓰기 위해 파일을 열고 파일 설명자를 사용하는 셸 구문은 다음과 같습니다.

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.

ksh10보다 크거나 같은 사용 가능한 파일 설명자가 선택되고 파일 설명자 번호가 변수에 저장됩니다 var.

$ exec {var1}>/tmp/test1
$ echo "$var1"
10
$ exec {var2}>/tmp/test2
$ echo "$var2"
11

관련 정보