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

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

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

【问题讨论】:

    标签: linux scripting shell tcl expect


    【解决方案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
    • 恕我直言,重要的部分是存在另一个好的解决方案,并提供了该解决方案功能的简明概述。少了什么东西?如果不给链接会更好吗?请注意,投票最多的两个答案甚至不包括功能摘要。随意详细说明和/或提供示例,我会看看可以做些什么来改进答案。
    猜你喜欢
    • 2012-12-11
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 1970-01-01
    • 2013-05-12
    • 2017-06-19
    • 2018-09-03
    相关资源
    最近更新 更多