P
"Hello"를 받고 "Why?"를 출력 할 것으로 예상 되는 프로그램 이 있습니다. 기능을 제공하기 전에. 이 기능은 "Hello"와 대화를 시작하는 것이 일반적임을 잘 모르는 다른 프로그램에서 사용됩니다. 따라서 다음 P
과 같이 작동 하는 래퍼를 작성하고 싶습니다 (zsh 구문).
coproc P
print -p Hello # Send Hello to P
read -pr line # Read what P has to say
[[ "$line" = "Why?" ]] && Replace current process with the coprocess.
echo Could not get P's attention.
사용 cat
또는 dd
의 Replace...
일부 (뭔가 같은 것은 cat <&p &; exec cat >&p
) 불필요한 버퍼링을 초래한다. 내 옵션은 무엇입니까?
bash
적용되지 않는 솔루션에 실망 zsh
했지만 확실히 받아 들일 것입니다 ☺
ssh
그것의 옵션 ProxyCommand
이었다.
cat
일반적으로 버퍼링하지 않습니다. 시스템에있는 경우을 시도하십시오 cat -u
.
zsh
솔루션 을 원하십니까bash
? 또는 솔루션이 허용됩니까?