微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MOTD脚本不显示颜色

如何解决MOTD脚本不显示颜色

我正在将RaspBerry Pi与基于Debian的发行版一起使用(我认为它称为Raspbian)。我将名为10-pi文件放入/etc/update-motd.d目录中并使其可执行。当我自己运行可执行文件(bash)时,它向我展示了一个不错的带有颜色的MOTD。但是,当我使用ssh登录到我的Pi时,我看到了正确的MOTD,但它以白色显示了所有内容。有人知道为什么会这样吗?

这是我的10-pi文件

#!/bin/bash

let upSeconds="$(/usr/bin/cut -d. -f1 /proc/uptime)"
let secs=$((${upSeconds}%60))
let mins=$((${upSeconds}/60%60))
let hours=$((${upSeconds}/3600%24))
let days=$((${upSeconds}/86400))
UPTIME=`printf "%d days,%02dh%02dm%02ds" "$days" "$hours" "$mins" "$secs"`

# get the load averages
read one five fifteen rest < /proc/loadavg

echo "$(tput setaf 2)
   .~~.   .~~.    `date +"%A,%e %B %Y,%r"`
  '. \ ' ' / .'   `uname -srmo`$(tput setaf 1)
   .~ .~~~..~.
  : .~.'~'.~. :   Uptime.............: ${UPTIME}
 ~ (   ) (   ) ~  Memory.............: `cat /proc/meminfo | grep MemFree | awk {'print $2'}`kB (Free) / `cat /proc/meminfo | grep MemTotal | awk {'print $2'}`kB (Total)
( : '~'.~.'~' : ) Load Averages......: ${one},${five},${fifteen} (1,5,15 min)
 ~ .~ (   ) ~. ~  Running Processes..: `ps ax | wc -l | tr -d " "`
  (  : '~' :  )   IP Addresses.......: `/sbin/ifconfig eth0 | /bin/grep "inet addr" | /usr/bin/cut -d ":" -f 2 | /usr/bin/cut -d " " -f 1` and `wget -q -O - http://icanhazip.com/ | tail`
   '~ .~~~. ~'    Weather............: `curl -s "http://RSS.accuweather.com/RSS/liveweather_RSS.asp?metric=1&locCode=EUR|UK|UK001|NAILSEA|" | sed -n '/Currently:/ s/.*: \(.*\): \([0-9]*\)\([CF]\).*/\2\3,\1/p'`
       '~'
$(tput sgr0)"

这是我自己执行文件时的样子: Output when executed manually

解决方法

您可以添加以下行:

missRanger

确保脚本在正确的环境下执行以显示颜色。

或者,您可以直接指定颜色,而不是间接使用echo和tput,这样:

export TERM="xterm-256color"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。