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

Posted

技术标签:

【中文标题】如何在 Linux tclsh 中通过光标键获取命令历史记录【英文标题】:How to get Command history by cursor key in Linux tclsh 【发布时间】:2011-03-03 18:16:51 【问题描述】:

可以在 TCL shell (tclsh) 中使用光标键(如向上箭头键)获取命令历史记录。

我正在使用 linux 版本 2.6.21 的 Fedora 上运行 tclsh。

【问题讨论】:

【参考方案1】:

您想访问 readline 库,您可以使用 rlwrap:

$ rlwrap tclsh

有用的选项是 -c 用于文件名完成,-f 用于将文件中的单词添加到完成列表:

$ rlwrap -cf my_complete_file tclsh

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

alias tclsh='rlwrap tclsh'

【讨论】:

嗨,格伦,你是 TCL 的忠实粉丝,我喜欢 TCL,想进一步探索该语言,以便在我的工作中使用它。你能给我一些学习 TCL 的链接或书籍吗? @Adi:在另一个问题中问这个问题。这就是本网站的运作方式。 不为人知的好工具! 最初由@glennjackman 提供的Tcl 教程的链接现在是404。试试这个:tcl.tk/man/tcl8.5/tutorial/tcltutorial.html【参考方案2】:

我通常使用 ActiveTcl 附带的 tkcon,或者单独安装。 tkcon 有很多功能,但我用得最多的是命令行编辑方面。

【讨论】:

感谢 vu tkcon 是一个不错的建议。我在 ubuntu 中使用它,但在 Fedora 中使用时出现错误“应用程序初始化失败:没有显示名称和 $DISPLAY 环境变量” 在 Ubuntu 14.04 上工作。不幸的是,它打开了一个 GUI shell,不能直接在我的 xterm 中运行? :-(【参考方案3】:

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

Link to tclsh-wrapper on github

它提供丰富的命令行编辑、历史记录、别名和关键字补全,但不需要 X11。键映射的文档也可用。

【讨论】:

虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review 恕我直言,重要的部分是存在另一个好的解决方案,并提供了该解决方案功能的简明概述。少了什么东西?如果不给链接会更好吗?请注意,投票最多的两个答案甚至不包括功能摘要。随意详细说明和/或提供示例,我会看看可以做些什么来改进答案。

以上是关于如何在 Linux tclsh 中通过光标键获取命令历史记录的主要内容,如果未能解决你的问题,请参考以下文章

快速操作Linux终端命令行的快捷键列表

如何在Windows中通过Cygwin来使用Linux命令行

Java 中通过 key 获取锁的正确方式

Java 中通过 key 获取锁的正确方式

Java 中通过 key 获取锁的正确方式

如何在Dictionary中通过大小写不敏感的密钥获取原始案例密钥