다음 스크립트와 같은 작업을 수행하고 싶습니다.
coproc test { ls; }
base64 <&${test[0]} | wc -l
하지만 실패했고, 이는 다음과 관련이 있습니다.이것:
명령 실행 및 프로세스 대체를 위해 생성된 파일 설명자를 제외하고 파일 설명자는 하위 쉘에서 사용할 수 없습니다.
이 문제를 해결하는 한 가지 방법은 다음과 같습니다.
coproc test { ls; }
out=$(cat<&${test[0]});
echo $out|base64| wc -l
파이프를 사용하여 동일한 결과를 얻을 수 있는 방법이 있습니까?
답변1
#!/bin/bash
coproc test (ls)
wc -l < <(base64 <&"${test[0]}")