【问题标题】:Bold text and change color of text for MOTD in nano on OSX?OSX上nano中MOTD的粗体文本和更改文本颜色?
【发布时间】:2015-04-30 12:38:43
【问题描述】:

我正在通过“$ sudo nano /etc/motd”在终端中修改我的 MOTD,我想知道是否有办法将文本加粗和/或更改其颜色。我检查了 nano 中的帮助文档,这通常会让我相信这种格式是不可能的——但我发现 Linux 用户能够通过 nano 更改其 MOTD 中的颜色的证据。

感谢任何帮助。

【问题讨论】:

    标签: macos terminal nano


    【解决方案1】:
    1. 创建一个临时的 shell 脚本

      touch /tmp/mtod.sh && chmod +x /tmp/mtod.sh

    2. 例如,用您想要的消息编辑 shell 脚本

      echo "Welcome to \e[38;5;196mXXX\e[0m"

    3. 将消息输出到真正的motd文件,然后删除临时脚本

      sudo sh -c '/tmp/mtod.sh > /etc/motd' && rm /tmp/mtod.sh

    【讨论】:

      【解决方案2】:

      您可以通过附加到文件直接从命令行执行此操作。

      首先 su 到 root...

      Mac:~ user$ su root
      

      然后使用以下命令,替换您的 ANSI 颜色代码和文本...

      Mac:~ root# echo "\033[1;34m" >> /etc/motd 
      Mac:~ root# echo "Hello." >> /etc/motd
      Mac:~ root# echo "\033[0m" >> /etc/motd
      

      我意识到这并没有像问题所问的那样使用 nano,但我认为有些人可能会觉得它有帮助。

      【讨论】:

      【解决方案3】:

      /etc/motd 文件只是 cat'd 到终端,终端很可能支持 ANSI 颜色转义序列。您可以使用(不是很多)许多文本编辑器来嵌入它。然而,重要的部分是插入(并跟踪)转义字符(通常在键盘上输入为 control[)。根据 nano 的documentation

      除 Control 和 Meta 键序列外,所有键都会将文本输入到正在编辑的文件中。

      该例外似乎适用于转义字符。进一步阅读,它说可以通过键入两次转义来输入任何字符,然后输入其十进制值(转义为 27)。但这不适用于我正在打字的机器。也许它对你有用,也许不是。

      您可以通过保留一些相对无用的字符(例如#)作为转义符,然后使用 tr 来转换为/从,例如,

      tr '\033' '#' /etc/motd >/tmp/motd
      nano /tmp/motd
      tr '#' '\033' /tmp/motd >/etc/motd
      

      这样做,粗体文本将类似于

      #[1mBOLD#[0m
      

      (当然,\033 是转义字符 - 有些人更喜欢 \x1b)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-01-30
        • 2021-01-12
        • 1970-01-01
        • 2014-02-17
        • 2012-03-11
        • 2020-04-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多