我最近买了一个树莓派,并开始使用它。更改我的 MOTD(包括颜色)后,颜色代码将作为原始文本出现而不是执行。
我在 Mac 终端中通过 SSH 连接到我的 Raspberry Pi。我还直接通过 Raspberry 命令行进行了尝试。我如何允许颜色?
以下是失败的 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
'~ .~~~. ~'
'~'