【问题标题】:How to parse commands and color it?如何解析命令并为其着色?
【发布时间】:2012-06-13 07:30:48
【问题描述】:

我喜欢命令提示符着色的想法,我想知道如何扩展它以使 shell 在我键入命令时或通过制表符补全为命令着色。例如,当我完成输入“gcc”时,shell 应该识别出它是一个有效的命令并将其涂成绿色。如果该命令不是一个可识别的命令,那么它应该以红色和粗体显示。

此功能将极大地帮助您输入正确的命令,尤其是当您的命令行很长且流水线命令意外包含拼写错误时。所有命令拼写错误都将用红色和粗体显示,以便我可以轻松识别我输入错误的命令。

【问题讨论】:

  • 如果你想为 gcc 输出添加颜色,安装colorgcc 但是如果你想自己做,检查 colorgcc 代码(它是一个 perl 脚本)并看看它是如何工作的
  • 这个问题可能对你有帮助stackoverflow.com/questions/4267400/…
  • @h3nr1x - 我不想为 gcc 的 输出 着色。我希望 shell 识别出我在提示符下输入了一个命令,并且作为识别的反馈,我希望它被着色。目前,shell 将等待我按 Enter,然后如果命令中有拼写错误,它会通知我找不到该命令。我希望 shell 能够即时识别命令并立即告诉我该命令不正确。
  • @JuanFranciscoCanteroHurtado - 您提供的链接用于为命令的输出着色。我希望 shell 动态解析我在提示符下以及在它期望命令的位置所做的每个击键,它必须识别已键入有效命令并将其分别着色为绿色或红色(如果正确或不正确)。我想解决方案将是一个后台作业,当我启动终端并检查我输入的单词并将这些单词与识别命令列表匹配并适当地着色时执行。
  • Igor 提供了一个解决方案,如下所示。

标签: shell command text-coloring


【解决方案1】:

我不确定您是否可以在 bash 中执行此操作。但在其他 shell 中是可能的,例如在zsh(见:https://github.com/zsh-users/zsh-syntax-highlighting)或fish(见:http://fishshell.com/)中。

【讨论】:

  • 我的错...我的意思是bash。但正如 Igor 所说,无论如何在bash 中可能是不可能的。
猜你喜欢
  • 2011-03-02
  • 2012-02-06
  • 1970-01-01
  • 2020-01-01
  • 2019-11-27
  • 2018-04-03
  • 2011-11-28
  • 2021-04-21
相关资源
最近更新 更多