如何在Linux tclsh中通过光标键获取命令历史记录

27
可以使用光标键(如向上箭头键)在TCL shell(tclsh)中获取命令历史记录。
我在Fedora上运行tclsh,Linux版本为2.6.21。
3个回答

38

如果您想访问readline库,可以使用rlwrap实现:

$ rlwrap tclsh

有用的选项是-c,用于文件名自动补全,以及-f,用于将文件中的单词添加到自动补全列表中:

$ rlwrap -cf my_complete_file tclsh

由于几乎总是需要使用 rlwrap,因此添加一个shell别名很有用:

alias tclsh='rlwrap tclsh'

嗨,格伦,你是一个狂热的TCL粉丝,我也喜欢TCL,并想更深入地了解这门语言,以便在我的工作中使用它。你能推荐一些学习TCL的链接或书籍吗? - Adi
@Adi:请在另一个问题中提出这个问题。这是该网站的工作方式。 - Donal Fellows
很棒的工具,但并不常为人所知! - Daniele Orlando
1
@glennjackman提供的Tcl教程链接现在已经失效了。请尝试访问这个链接:https://www.tcl.tk/man/tcl8.5/tutorial/tcltutorial.html - TheDudeAbides

3

我通常使用随附于ActiveTcl或独立安装的tkcon。tkcon有许多功能,但我最常使用的是命令行编辑方面。


谢谢,vu tkcon 是一个不错的建议。我在 Ubuntu 上使用它,但在 Fedora 上使用时出现了一些错误:“应用程序初始化失败:没有显示名称和没有 $DISPLAY 环境变量”。 - Adi
曾在Ubuntu 14.04上工作。不幸的是,它打开了一个GUI shell,无法直接在我的xterm中运行? :-( - Ciro Santilli OurBigBook.com

0

另一个很好的纯终端选项是tclsh-wrapper

在github上链接到tclsh-wrapper

它提供了丰富的命令行编辑、历史记录、别名和关键字完成,但不需要X11。还有可用的按键映射文档。


虽然这个链接可能回答了问题,但最好在此包含答案的基本部分,并提供该链接的参考。 如果链接页面更改,仅链接的答案可能会失效 -【来自评论】 - xom9ikk
在我看来,关键部分是存在另一个好的解决方案,并提供该解决方案特点的简洁概述。缺少什么?如果没有给出链接是否会更好?请注意,两个得票最高的答案甚至都没有包含功能摘要。欢迎详细说明和/或提供示例,我会看看如何改进答案。 - Tom Drabenstott

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接