gpt4 book ai didi

linux - 终端中的脚本输出与 MOTD 输出不同

转载 作者:太空宇宙 更新时间:2023-11-04 04:32:18 25 4
gpt4 key购买 nike

我编写了一个小脚本来监视我的 TLS 证书过期。

以下是我在终端中运行 /etc/update-motd.d/05-ssl 时的输出。该脚本的权限是633 root

TLS certs             Valid until
● facebook.com Thu Jun 06 2019
● google.com Tue Jun 18 2019

但是,当我通过 ssh 登录时,我的 MOTD 仅显示

TLS certs        Valid until

我怀疑这与我打印输出时在最后一行所做的管道有关。

#!/bin/bash

ssl_domains="facebook.com google.com"
currentTime=$(date +%s)
output="TLS certs| Valid until"

for domain in $ssl_domains; do
certTime=$(openssl s_client -servername ${domain} -connect ${domain}:443 < /dev/null 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2)
certLineTime=$(date -d "${certTime}" +"%a %b %d %Y")

certTimestamp=$(date -d "${certTime}" +%s)
if [ "${certTimestamp}" -ge "${currentTime}" ]; then
sign="\e[36m●\e[0m"
else
sign="\e[1;33m▲\e[0m"
fi

output+="\n$sign $domain| $certLineTime"
done

echo -e "$output" | column -t -s '|'

最佳答案

尝试添加

export LANG='en_US.UTF-8'

位于脚本的顶部。

关于linux - 终端中的脚本输出与 MOTD 输出不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55885548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com