MOTD 中没有颜色

MOTD 中没有颜色

我最近买了一个树莓派,并开始使用它。更改我的 MOTD(包括颜色)后,颜色代码将作为原始文本出现而不是执行。

我在 Mac 终端中通过 SSH 连接到我的 Raspberry Pi。我还直接通过 Raspberry 命令行进行了尝试。我如何允许颜色?

以下是失败的 MOTD 的屏幕截图:

MOTD 颜色错误

我正在编辑的文件是“/etc/motd”。我正在用“nano”编辑它。

代码如下:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

#!/bin/bash
echo "$(tput setaf 2)
   .~~.   .~~.
  '. \ ' ' / .'$(tput setaf 1)
   .~ .~~~..~.
  : .~.'~'.~. :
 ~ (   ) (   ) ~
( : '~'.~.'~' : )
 ~ .~ (   ) ~. ~
  (  : '~' :  ) $(tput sgr0)Raspberry Pi$(tput setaf 1)
   '~ .~~~. ~'
       '~'
$(tput sgr0)"

答案1

由于“etc/motd”是纯文本文件,因此不会执行命令,而是打印如下:

#!/bin/bash
echo "$(tput setaf 2)
   .~~.   .~~.
  '. \ ' ' / .'$(tput setaf 1)
   .~ .~~~..~.
  : .~.'~'.~. :
 ~ (   ) (   ) ~
( : '~'.~.'~' : )
 ~ .~ (   ) ~. ~
  (  : '~' :  ) $(tput sgr0)Raspberry Pi$(tput setaf 1)
   '~ .~~~. ~'
       '~'
$(tput sgr0)"

相反,在“/etc”中创建一个名为“motd.sh”的新文件,并在其中输入 MOTD。现在这是一个可执行脚本,但未执行。因此,转到“/etc/profile”并在文件末尾添加:

bash /etc/motd.sh

现在将在连接时执行脚本并显示颜色。

   .~~.   .~~.
  '. \ ' ' / .'
   .~ .~~~..~.
  : .~.'~'.~. :
 ~ (   ) (   ) ~
( : '~'.~.'~' : )
 ~ .~ (   ) ~. ~
  (  : '~' :  ) Raspberry Pi
   '~ .~~~. ~'
       '~'

相关内容