使用Lua脚本启用bash输出颜色。
2009-11-11 22:8:30
收藏:0
阅读:312
评论:2
我有几个 Lua 脚本可以运行经验并输出大量信息,以文本文件和控制台形式。我想在控制台输出中添加一些颜色,使其更易读。
我知道可以使用 ANSI 转义序列对 bash 脚本的输出进行着色。例如:
$ echo -e "This is red->\e[00;31mRED\e[00m"
我尝试在 Lua 中执行相同的操作:
$ lua -e "io.write('This is red->\\e[00;31mRED\\e[00m\n')"
但它不起作用。我还尝试使用 print()
而不是 io.write()
,但结果相同。
原文链接 https://stackoverflow.com/questions/1718403
点赞
stackoverflow用户205640
`lua -e "print('This is red->\27[31mred\n')"`
注意到 \27。每当 Lua 看到一个 \
后面跟着一个十进制数,它就会将这个十进制数转化为它的 ASCII 码。这里我使用 \27 来得到 bash 的 \033 ESC 字符。更多信息请见这里。
2009-11-11 22:44:44
评论区的留言会收到邮件通知哦~
推荐文章
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
- 如何编写 Lua 模式将字符串(嵌套数组)转换为真正的数组?
这当然可以在Lua中完成;技巧就在于正确设置转义序列。可以使用
string.char
将特定的ASCII值写出来:$ echo -e '\E[37;44m'"\033[1mHello\033[0m" # 白字蓝底 Hello $ echo -e '\E[37;44m'"\033[1mHello\033[0m" | xxd # 查看代码的十六进制转储 0000000: 1b5b 3337 3b34 346d 1b5b 316d 4865 6c6c .[37;44m.[1mHell 0000010: 6f1b 5b30 6d0a o.[0m. $ lua -e "for _,i in ipairs{0x1b,0x5b,0x33,0x37,0x3b,0x34,0x34,0x6d,\ 0x1b,0x5b,0x31,0x48,0x65,0x6c,0x6c,0x6f,0x1b,0x5b,0x30,0x6d,0x0a} \ do io.write(string.char(i)) end" # 再次在白字蓝底中输出“Hello” Hello