如何使用tcl中的puts更改文本颜色

2024-02-28

我想通过使用 tcl 中的 put 命令来更改控制台中显示的文本颜色以简化调试。我看到很多文章是 abt tk 而不是 tcl。仅供参考,我在 Windows 7 上使用 Active tcl。

我尝试过其他人提供的以下代码(http://www.tek-tips.com/viewthread.cfm?qid=1283356 http://www.tek-tips.com/viewthread.cfm?qid=1283356)但徒劳:puts "Why not \033\[34mG\033\[31mo\033\[33mo\033\[34mg\033\[32ml\033\[31me\033\[0m first ?"

请建议。


您引用的代码适用于我(OSX、Terminal.app;Tcl 8.4、8.5 和 8.6),我希望它在 Linux 上也能正常工作。 (在 Windows 上情况会有所不同,控制台的工作方式非常不同。)在 Linux 上失败表明问题不在 Tcl 中,而是在其他地方;我猜它在你的终端中,它不想遵守颜色代码。另一个外部可能性是您的终端出于某种原因更喜欢不同的转义序列。

解决第二个问题的方法是这样的:

proc color {foreground text} {
    # tput is a little Unix utility that lets you use the termcap database
    # *much* more easily...
    return [exec tput setaf $foreground]$text[exec tput sgr0]
}

puts "Why not [color 4 G][color 1 o][color 3 o][color 4 g][color 2 l][color 1 e] first?"
# Hmm, that's clearer than using those escapes directly too!

如果这是第一个问题——你的终端无法显示颜色——那么你就会陷入困境,直到你更换终端。抱歉,事情确实就是这么简单。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用tcl中的puts更改文本颜色 的相关文章

  • 从 Tkinter Tcl 回调 python 函数在 Windows 中崩溃

    这不完全是我的应用程序 但非常相似 我创建了这个测试代码来显示问题 基本上我试图从 python 线程调用 tcl proc 当结果准备好时 Tcl proc 将回调到 python 函数 该结果将作为事件发布到 wx 框架 当我作为纯 p
  • 如何从期望脚本中转义异常/唯一字符?

    在期望脚本中 我可以设置任何命令或字符以在远程计算机上运行它 但可悲的是 expect 无法发送与expect 脚本中定义的相同的字符 例如 我想从expect脚本运行这一行 以便更改IP地址10 10 10 10 to 1 1 1 1 e
  • Tcl 相当于 UNIX“cp -pL”命令

    UNIX cp pL 命令的 Tcl 等效项是什么 我找不到它文件命令描述 对于单个文件 a 获取文件的真实路径 b 复制它 c 设置属性 修改时间和访问时间 不幸的是 似乎没有任何方法可以设置更改时间 Windows 上的创建时间 set
  • 如何在c代码中使用tcl api

    我想在另一个 c 代码文件中使用我的 tcl 代码的一些功能 API 但我不知道如何做到这一点 特别是如何链接它们 为此 我采用了一个非常简单的 tcl 代码 其中包含一个 API 该 API 将两个数字相加并打印总和 谁能告诉我如何调用这
  • 了解分发冻结的 Python Tkinter 应用程序需要 TCL 中的哪些文件

    我试图找出 Python Python 2 6 Python 2 7 tcl 文件夹中的哪些文件是必需的 以便使用 Py2exe 或类似工具分发冻结的 Python Tkinter 应用程序 快速而肮脏的方法 使用 pyexe 作为示例 是
  • Tcl 扩展:扩展的 ClientData 的生命周期

    重要的本机扩展将需要每个解释器的数据 动态分配的结构 我目前正在使用Tcl SetAssocData 有一个对应的密钥 扩展名和适当的删除例程 以防止此内存泄漏 然而 Tcl PkgProvideEx 也允许记录这样的 信息 该信息可以通过
  • 快速字符串替换

    在构建了一个可能非常大的字符串后 我将对其进行大量更改 将其中的单个字符 或字节 如果需要 更改为另一个字符 实际上 我的脚本正在构建一个填字游戏 因此字符串不会很长 但我的问题很笼统 我如何利用我不改变字符串 或任何更好的数据类型 长度的
  • 将 bash 数组传递给 Expect 脚本

    我有一个 bash 脚本 它像这样调用 Expect 脚本 SCRIPTS DIRECTORY my expect script sh my bash array 看起来我可以传递一个变量并使用它 对于这个例子 变量似乎是在 lindex
  • TCL - 按任意数量的空格将字符串拆分为列表

    假设我有一个像这样的字符串 set str AAA B C DFG 142 56 现在我想得到一个列表 如下所示 AAA B C DFG 142 56 为此 我想使用 split 函数 但在这种情况下我会得到一些额外的空列表 我怎样才能得到
  • 解析 tcl 中的文本文件并创建键值对字典,其中值采用列表格式

    如何分离以下文本文件并仅保留相应的所需数据 例如文本文件的格式 Name Roll number Subject Experiment name Marks Result Joy 23 Science Exp related to magn
  • 将其放入 TCL 正则表达式中的转义字符串

    I use Expect作为测试框架并编写一些辅助函数来简化匹配模式的键入expect命令 因此 我寻找将任何字符串转换为字符串的函数 其中所有特殊的正则表达式语法都被转义 例如 和其他字符 这样我就可以将任何字符串放入正则表达式中 而不必
  • PYTHON 的 Tcl 文件解析器

    我有一个 tcl 文件 是否有任何解析器可以直接从 tcl 文件中提取数据 我不想使用 REGEX 来完成此任务 pyparsing 可以解决这个问题吗 我正在使用Python 2 7 tcl 文件不是数据文件 它们是用 Tcl 编程语言编
  • tcl深度递归文件搜索,搜索带有*.c扩展名的文件

    使用旧答案在 tcl 中搜索文件 https stackoverflow com a 435094 984975 https stackoverflow com a 435094 984975 首先我们来讨论一下我现在在做什么 使用此功能
  • 打破 tcl 中的父循环

    我在 while 循环中有一个 for 循环 我有一个条件要打破 for 循环中的 while 这是代码 while gets thefile line gt 0 for set i 1 i lt count table incr i if
  • Tcl + 检查文件存在

    我正在尝试检查 Tcl 中是否存在文件 但我似乎无法得到真实的结果 尽管我知道它的存在 while true if file exists file name 1 exp send copy file txt destination r p
  • 按值对 Tcl 字典排序

    我想知道 Tcl 中是否有一种按值对 dict 进行排序的优雅方法 假设我有以下字典 set d1 dict create k1 10 k2 89 k3 1 k4 15 k5 20 Results in dict of form k1 gt
  • 8.4 中的 tcl 8.6 封装

    在 Tcl Tk 8 6 中有一个称为笔记本的 Ttk 功能 我想将其实现到我的程序中 但是 我需要该包才能利用此功能 我必须使用 8 4 因为我们使用的 dll 之一仅与 8 4 版本兼容 我感到沮丧的根源 我已经下载了 Tcl 8 6
  • 如何在tcl中搜索数字即进程ID并杀死进程ID

    我尝试搜索存储在变量 say 缓冲区中的进程 id i e 6762 nohup tcpdump ni eth0 s0 2 gt 1 null 1 6762 You have new mail in var mail root 如果匹配的话
  • 带可选参数的 TCL 过程调用

    存在一个 TCL 脚本 该脚本具有多个名称相似的过程定义func在不同的命名空间中 程序如下 proc func a puts a 所有这类程序都只有一个参数a 所有此类过程都是从整个脚本中的一行调用的 func a 我需要创建另一个具有相
  • TCL - 使用正则表达式获取另一个字符串中由空格分隔的字符串列表

    如何在 TCL 中编写匹配单词和空格的正则表达式 例如我有 aaaa bbbb cccc 我想匹配 aaaaa bbbb cccc 另外请告诉我空白和非空白的正则表达式符号是什么 我到处都找不到它 Thanks 我的想法是只搜索单词字符的分

随机推荐