如何在 Linux 终端中的日期后打印字符串?

How to print a string AFTER the date in Linux Terminal?

我想在 Linux 中键入一个单行命令,将日期后跟一个字符串打印到终端。例如,“……是今天的日期。”这是我试过的。

MyComputer:~ me$ date | xargs echo " is today's date."

但是,这个打印的“是今天的日期。2 月 20 日星期六...”

我认为颠倒顺序会有帮助,但这只打印了日期。

MyComputer:~ me$ echo " is today's date." | date | xargs echo

相反,我的第三次尝试只打印了“是今天的日期。”没有日期。

MyComputer:~ me$ date | xargs echo | echo " is today's date."

我没主意了。缺少多个命令,使用文件输入,甚至将其解释为“今天的日期是...”如何获得我想要的输出?

您可以使用echo在固定字符串和命令调用之间进行插值:

edd@rob:~$ echo "Today is $(date) and I feel fine"
Today is Sat Feb 20 01:15:02 PM CST 2021 and I feel fine
edd@rob:~$ 

严格来说,这在将其输出传递给 echo 之前使用(bash 对我来说)shell 到 运行 命令。除了 $(date),您还可以使用反引号。

试试这个:

echo "`date` is today's date."

您可以将日期放入变量中,然后回显日期和附加文本:

YourComputer:~ me$ Now=$(date +"%m-%d-%y") | echo "$Now is today's date"

其中“现在”是您的日期变量的名称, (date +"%m-%d-%y") 打印(格式化的)日期, $Now 是你附加文本的回显。