我想编写一个 bash 脚本,用作问候语并显示日期和时间(在终端中),但遇到了一些问题。我做了一些研究,解决了大部分问题。唯一剩下的问题是,当我运行脚本时,它不会刷新终端中的现有文本,而是将新文本附加到前一个文本之后。
__RAINBOWPALETTE="1"
function __colortext()
{
echo -e " \e[$__RAINBOWPALETTE;$2m$1\e[0m"
}
function echogreen()
{
echo -n $(__colortext "$1" "32")
}
function echored()
{
echo -n $(__colortext "$1" "31")
}
function echoblue()
{
echo -n $(__colortext "$1" "34")
}
function echopurple()
{
echo -n $(__colortext "$1" "35")
}
function echoyellow()
{
echo -n $(__colortext "$1" "33")
}
function echocyan()
{
echo -n $(__colortext "$1" "36")
}
printf "\n"
echoblue "Today is: "
echored `date +%a` && echo -n " "
echogreen `date +%d` && echo -n " "
echoyellow `date +%b`
echo " `date +%Y`"
while sleep 1; do
echoblue "It's "
echopurple `date +%r`\\c
done
printf "\n\n"
答案1
试试这个;\r
在之前添加It's
while sleep 1; do
echoblue "\rIt's "
echopurple `date +%r`\\c
done