如何将UNIX命令“date”添加到echo语句中

59

基本上我希望终端能够输出一条消息,后面跟着日期和时间,例如"你好,今天是 -dateandtime-"。

因此,echo 命令可以完成第一部分,date 命令可以完成最后一部分,但只能分开使用。如何将它们合并在一起(在一个命令中)以便它们一起输出呢?

就像

echo hello there

-新命令-

date

可以做到,但不在同一行。管道命令是答案吗?

5个回答

98

以下内容可以实现:

 echo "Hi, today is $(date)"

18

日期时间将采用任意格式字符串。

> date +"Hi, today is - %a %b %e %H:%M:%S %Z %Y"
  Hi, today is - Thu Feb 2 03:28: CET 2012

6
echo Hello there, today is `date`

您还可以使用修饰符格式化日期输出,例如:

echo Hello there, today is `date +%D`

参见man date获取完整的修改器列表。


4
反引号就能解决问题:
echo "Hi, today is" `date`

2
对于这个特定的问题,mimisbrunnr的解决方案是正确的。对于如何将数据附加到echo的一般问题,一些常见的技巧包括:
$ echo '嗨,今天是' | tr -d '\012'; date
嗨,今天是2022年3月28日 星期一 10时40分51秒 CST
$ echo -n '嗨,今天是'; date
嗨,今天是2022年3月28日 星期一 10时40分51秒 CST
$ printf '嗨,今天是'; date
嗨,今天是2022年3月28日 星期一 10时40分51秒 CST

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接