Questions tagged «readline»

GNU Readline是一个库,为Bash和其他交互式命令行程序提供命令行编辑和历史搜索功能。使用此标签可解决有关在Bash和其他软件中使用Readline功能的问题。

2
为什么bash链接到ncurses?
我想我以前已经注意到了这一点,但从未想过。现在我很好奇。 > ldd /bin/bash linux-vdso.so.1 => (0x00007fff2f781000) libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f0fdd9a9000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f0fdd7a5000) libc.so.6 => /lib64/libc.so.6 (0x00007f0fdd3e6000) /lib64/ld-linux-x86-64.so.2 (0x00007f0fddbf6000) Libtinfo是ncurses的一部分。这是一个fedora系统,但在ubuntu上是相同的,我注意到在raspbian(debian变体)上,它也链接到libncurses本身。 这是什么原因呢?我认为bash所做的一切都可以通过libreadline完成(奇怪的是,它没有链接到)。这仅仅是替代吗?
11 bash  readline  ncurses 

2
阅读历史
如何read通过按向上/向下键在内置命令支持历史记录中循环显示它们? 当您按向上键时,我尝试捕获,但是它似乎不适用于read: read -p '> ' -n 3 foo echo echo -n "$foo" | hexdump 按下箭头键似乎可以工作,并且可以使用它来检测到它,但是如果按下aa↑,它将失败,因为它将仅读取向上箭头标识符的第一个字符,而需要使用第三个字符来区分不同的箭头键。

2
.inputrc TAB行为异常
今天我很忙,这是另一个问题: 当我把它们放进去时.inputrc,它们为什么都做同样的事情呢? TAB: menu-complete Shift-TAB: menu-complete-reverse 也就是说,他们都按照最后一个说的去做。
11 bash  readline 


2
在shell中设置readline变量
我在man页面中读到,您使用以下命令将readline参数设置为off或设置为一个值 set var value 这与set内置inputrc函数相同吗?一旦已经读取并且外壳程序正在运行,如何设置变量?
10 bash  readline 

5
如何在登录系统后自动将bash readline设置为vi模式?
我的团队负责数千台Linux / Unix计算机,因此,根帐户自然是在管理员之间“共享”的。我更喜欢vi模式,其他人更喜欢emacs模式。 如何在SSH登录到任何计算机时将bash的readline设置为vi模式,而又不强迫其他所有人也使用vi模式? 从本质上讲,它希望具有set -o vi登录后的效果,而不必每次都真正键入它,并且也不必强加给其他人(就像emacs模式对我来说很烦人,vi模式对他们来说很烦人)。 我知道,如果每个人都可以使用自己的sudo帐户执行特权命令,这将不是问题,但是由于我无法控制的情况,可悲的是这不是一个选择。
9 bash  emacs  vi  readline 

4
将文本放入bash命令行缓冲区
我想以编程方式在bash的命令行缓冲区中放入一段文本,阅读以进行编辑并用作命令。 我期待的是与read -i命令类似的东西。 -i text 如果使用readline读取行,则在开始编辑之前将文本放入编辑缓冲区。 编辑:以编程方式,我的意思是要在脚本中编写此代码,启动脚本,并准备命令缓冲区或修改命令历史记录(如某些问题所建议)。
9 bash  readline 

1
readline单词分隔符是什么?
当我删除Bash中的“单词”时,它将停在某些字符,例如_和/。例如,如果我输入 /foo/bar 并激活backward-kill-word(通常映射到Alt- Backspace和/或Ctrl- w),其余文本为 /foo/ 。这确实不对应$COMP_WORDBREAKS或readline的rl_completer_word_break_characters。如何检测(最好是在正在运行的系统中,而不是代码中的默认值,因为它们可能会被覆盖),这是什么字符来确定断字?
9 bash  readline 

2
用bash逐字符阅读
我一直在尝试使用bash逐字符读取文件。 经过多次试验和错误,我发现这可行: exec 4<file.txt declare -i n while read -r ch <&4; n=0 while [ ! $n -eq ${#ch} ] do echo -n "${ch:$n:1}" (( n++ )) done echo "" done 即,我可以逐行读取它,然后逐字符逐个循环。 在执行此操作之前,我已经尝试过: exec 4<file.txt && while read -r -n1 ch <&4; do; echo -n "$ch"; done 但是它将跳过file中的所有空格。 你能解释为什么吗?有没有办法使第二种策略(即用bash的read逐字符读取char)起作用?
8 bash  readline 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.