我有一个bash脚本,主要在交互模式下使用。但是有时候我会将一些输入通过管道传递给脚本。在使用循环处理标准输入后,我使用“-i”(交互式)复制文件。然而,在管道模式下,这个操作永远不会被执行(我猜想)因为标准输入没有被刷新。以下是一个简单的示例:
#!/bin/bash
while read line
do
echo $line
done
# the next line does not execute
cp -i afile bfile
将以下内容放入t.sh文件中,并执行以下命令: ls | ./t.sh
read命令未被执行。 在读取之前需要清空stdin。如何做到这一点呢?
zsh
中可行吗? - alper