基本上我想让终端输出一条消息,后跟日期和时间,例如“嗨,今天是 -dateandtime-”。
所以 echo 可以完成第一位,而 date 可以完成最后一位,但只能单独完成,我如何将它们放在一起(在一个命令中)以便它们一起输出。
喜欢
回声你好
-新命令-
日期
做到了,但不是一行。管道化是答案吗?
这样就可以了:
echo "Hi, today is $(date)"
日期时间将采用任意格式字符串。
> date +"Hi, today is - %a %b %e %H:%M:%S %Z %Y"
Hi, today is - Thu Feb 2 03:28: CET 2012
echo Hello there, today is `date`
您还可以使用修饰符格式化日期的输出,例如:
echo Hello there, today is `date +%D`
有关修饰符的完整列表,请参阅
man date
。
反引号就可以了:
echo "Hi, today is" `date`
对于这个特殊问题,mimisbrunnr 的解决方案是正确的方法。对于如何将数据附加到回波的一般问题,一些常见的技术是:
$ echo '嗨,今天是' | tr-d' ';日期 您好,今天是 2012 年 MST 2 月 1 日星期三 18:11:40 $ echo -n '嗨,今天是 ';日期 你好,今天是 2012 年 2 月 1 日星期三 18:11:43 MST $ printf '嗨,今天是 ';日期 你好,今天是 2012 年 2 月 1 日星期三 18:11:48 MST
对于我来说
$ date +"Hi, today is - %Y%m%d%H%M%S"
Hi, today is - 20240209004703