Ssh

MOTD 中沒有顏色

  • November 25, 2018

我最近買了一個 Raspberry Pi,並開始使用它。更改我的 MOTD(包括顏色)後,顏色程式碼將作為原始文本出現,而不是執行。

我在 Mac 終端中通過 SSH 連接到我的 Raspberry Pi。我也直接通過 Raspberries 命令行進行了嘗試。我如何允許顏色?

下面是失敗的 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)"

由於“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
  '~ .~~~. ~'
      '~'

引用自:https://unix.stackexchange.com/questions/223921