我在脚本中使用这样的东西:
REPLY=$(rlwrap head -n 1)
实际上有更多选择,但这足以重现问题。它非常适合我的目的......只要我不按 Ctrl-C 退出。如果我这样做了,输入 echo 会在终端上停止,我发现恢复它的唯一方法是盲目输入reset
.
-I
国旗没有帮助。我也试过这个:
rlwrap head -n 1 | REPLY=$(cat)
但是当我按下 Enter 时,没有设置 REPLY。我在 bash 和 dash 中都试过了,结果相同编辑:抱歉,由于 shebang 上的拼写错误,dash 没有被执行。它在破折号中正常工作。
如何将变量设置为输出rlwrap
并能够在不丢失输入回显的情况下中断?也出于好奇,有人知道这里发生了什么吗?