lolcat - 我怎样才能将符号

lolcat - 我怎样才能将符号

我试着这样说。我希望日期可以在箭头内看到:

#!/bin/bash
clear
echo
echo -ne "----->" | lolcat; date | lolcat;
echo -e "<-----" 

答案1

我希望箭头里面能看到日期

date生成的输出末尾有一个换行符,您需要将其删除。此外,如果输入中没有尾随换行符,lolcat则会添加它(至少在我的 Debian 9 中)。因此,我猜您应该更喜欢使用单个换行符lolcat来处理所有内容。

(echo -n "----->"; date | tr -d '\n'; echo "<-----") | lolcat
# or
echo "----->$(date)<-----" | lolcat

第一个变体用于tr从 的输出中删除换行符(实际上是一个尾随换行符)date。Singlelolcat处理来自整个子 shell 的流((…))。

第二种变体将 的输出嵌入date到 的参数中echo。这里的技巧是命令替换 ( $(…)) 删除所有尾随换行符。

自从printf优于echo,更优雅的解决方案可能是:

printf -- '----->%s<-----' "$(date)" | lolcat

笔记双破折号在这里非常有用。

在 Bash 中,你可以使用<<<将字符串传递到命令的 stdin,而无需显式使用echoprintf。像这样:

lolcat <<< "----->$(date)<-----"

相关内容