我有一个脚本,它使用while read
读取命令的输出,并进行微调(例如着色,删除一些行)。但是,有时我会得到一个表格:
Would you like to hello world? (y/N):
在输入输入之前,此行未完成(因此未显示)。
如何修改此脚本以允许我查看这些不完整的行,然后我可以在其中输入输入?
答案 0 :(得分:1)
您需要不使用while read
,因为read
仅处理“完整”行,即以LF
结尾的行。
(或者,read
有一个选项-d delim
,告诉它将另一个分隔符视为行尾标记 - 在您的情况下,这可能是问号,或:
在提示的最后。但是,我猜你不能在你的特定情况下使用它,因为你将无法预测何时使用-d
)。
根据您的脚本究竟在做什么,您可以管理整个调整,例如:通过sed
,awk
等。
要获得更详细的答案,您需要发布当前脚本的内部信息。
答案 1 :(得分:0)
如果您一直以相同的方式回答提示,并且如果命令从stdin读取(例如与ssh不同),那么您可以
yes y | command | while read ...