프로세스 대체가 포함된 명명된 파일 설명자

프로세스 대체가 포함된 명명된 파일 설명자

프로세스 대체와 함께 명명된 파일 설명자를 사용하려고 합니다.
다음 코드를 작성했지만 작동하지 않습니다.

# Open named file descriptors and associate to Process Substitution result
exec {folder1_files_list} < <( ls -v "${FOLDER1_PATH}"/* )
exec {folder2_files_list} < <( ls -v "${FOLDER2_PATH}"/* )

IFS=$'\n' read -r folder1_filename -u "${folder1_files_list}"
IFS=$'\n' read -r folder2_filename -u "${folder2_files_list}"

# Close named file descriptors
exec {folder1_files_list}<-
exec {folder2_files_list}<-

오류는 다음과 같습니다

exec: {folder1_files_list}: not found

bash 매뉴얼을 읽었지만 뭔가 빠졌을 수도 있습니다

답변1

다음 세대를 위한 완전한 작업 코드는 다음과 같습니다.

exec {folder1_files_list}< <( ls -v -1 "${FOLDER1}"/* )
# Usage example:
# If I want to output the entire contents of the file descriptor, 
# then I should write:
#   cat - <&$folder1_files_list

exec {folder2_files_list}< <( ls -v -1 "${FOLDER2}"/* )

IFS=$'\n' read -r -u $folder1_files_list folder1_filename
IFS=$'\n' read -r -u $folder2_files_list folder2_filename

exec {folder1_files_list}<&-
exec {folder2_files_list}<&-

관련 정보