首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rlwrap似乎并不支持"read -e“

Rlwrap似乎并不支持"read -e“
EN

Stack Overflow用户
提问于 2011-09-09 21:12:06
回答 2查看 625关注 0票数 1

一些常见问题的新转折:

在我的交互式脚本中,我预先填充了用户输入,如下所示:

代码语言:javascript
复制
#process_line.sh

INPUT=$1 # previous value
read -e -p "> " -i "$INPUT" INPUT

要实现命令历史记录,我调用process_line.sh

代码语言:javascript
复制
    rlwrap ./process_line.sh $INPUT

现在的问题是:如果我有"read -e"选项,我可以编辑预填充的输入,但是没有命令历史,相反,我可以有命令历史,感谢rlwrap,没有"read -e"选项,但是没有预填充(也就是说,"read -i"实际上什么都不做)。

当然,问题是我是否可以同时输入预填充、编辑和命令历史记录。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-09 21:19:23

关闭-e以进行读取。这样两个readline实现就不会冲突了。

要获得提示符,可以将-S "> "传递给rlwrap。

票数 2
EN

Stack Overflow用户

发布于 2011-09-13 03:43:08

从0.25版开始,这个用例已经出现在rlwrap手册中;具体怎么做有点取决于rlwrap的版本。

在rlrap0.37中,你可以这样做:

INPUT=$(rlwrap -o -S ">“-P $INPUT cat)

这种方法的优点是可以为每个输入变量提供其自己的历史记录和完成列表(使用-f和-H选项)

cygwin版本(0.24)确实很古老,但是自己编译rlwrap应该很容易。如果您愿意,您可以构建一个静态链接的版本(参见安装文件中的说明),并将其与脚本一起分发。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7362129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档