pico2wave
파일로의 출력(편집: 확장자 포함 .wav
)만 지원됩니다. aplay
명명된 파이프, 임시 파일 또는 래퍼 스크립트를 정리하지 않고 출력을 파이프에 강제로 적용하려면 어떻게 해야 합니까 ?
즉, pico2wave -w tmp.wav "test" && aplay tmp.wav && rm tmp.wav
임시 파일을 생성하므로 내가 찾고 있는 솔루션이 아닙니다.
답변1
/dev/stdout
일반적인 해결 방법에 대한 참고 사항: 파일 이름이 필요한 많은 프로그램의 경우 경로 (해당 파일이 존재한다고 가정하여 에 대한 링크 ) 를 제공 /proc/self/fd/1
하면 출력을 기꺼이 해당 파일로 보낼 것입니다 stdout
. bash
에서 프로세스 교체를 사용할 수도 있습니다 cat
. 즉 foo -f >(cat) args | bar
, (감사합니다.g 남성).
파일 확장자가 확인 되었으므로 pico2wave
가능한 해결책은 /dev/stdout
적절한 확장자를 가진 경로(예: 와 같은)에 심볼릭 링크를 연결하는 것입니다 /var/local/
. 이렇게 하면 추가 파일이 생성되지만 프로세스별로 생성되지는 않습니다.
ln -s /dev/stdout /var/local/pico2wave.wav
그러면 pico2wave -w /var/local/pico2wave.wav "test" | aplay
괜찮습니다.