我有一个程序P,期望接收“你好”并输出“为什么?” 在提供功能之前。其他不知道通常与“ 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或会导致不必要的缓冲。我有什么选择?ddReplace...cat <&p &; exec cat >&p
在这一点上,我已经学习了2个小时的所有zsh脚本,并且碰壁了。我想查看其中可能包含空格的文件列表。我愿意接受与以下示例完全不同的方法,只要它们是zsh,因为zsh是我正在研究的内容,而不是我要编写的任务。 files=(`ls`) for f in $files; do print $f done 我显然不只是在重新创建ls,我只是想$f在循环的每次迭代中捕获整个文件名。