Bash date命令和使用引号时的额外空间
为什么将date命令置于引号中时会生成额外的空格Bash date命令和使用引号时的额外空间,bash,date,Bash,Date,为什么将date命令置于引号中时会生成额外的空格 echo Started at $(date) # "Started at Thu Dec 6 07:26:59 PST 2018" echo "Started at $(date)" # "Started at Thu Dec 6 07:26:59 PST 2018" 上面的两个命令应该产生相同的结果,但它们不是。在6的前面有一个额外的空间。如何使其保持一致,或者是否有方法使其保持一致?让我们只运行date命令,看看它提供了什么输出
echo Started at $(date) # "Started at Thu Dec 6 07:26:59 PST 2018"
echo "Started at $(date)" # "Started at Thu Dec 6 07:26:59 PST 2018"
上面的两个命令应该产生相同的结果,但它们不是。在6的前面有一个额外的空间。如何使其保持一致,或者是否有方法使其保持一致?让我们只运行
date
命令,看看它提供了什么输出
date
Thu Dec 6 10:37:15 EST 2018
由于“
将原始空间保存在其中,因此当您按如下方式运行第二个命令时,它将保存该空间
echo "Started at $(date)"
Started at Thu Dec 6 10:36:46 EST 2018
因此,我们实际上应该说它没有添加额外的空间,而是在输出中保留原始空间。让我们只运行
date
命令,看看它提供了什么输出
date
Thu Dec 6 10:37:15 EST 2018
由于“
将原始空间保存在其中,因此当您按如下方式运行第二个命令时,它将保存该空间
echo "Started at $(date)"
Started at Thu Dec 6 10:36:46 EST 2018
因此,我们实际上应该说,它没有添加额外的空间,而是在输出中保留原始空间。确切地说:
echo
打印它的参数,每个参数之间用一个空格分隔,因为第一次调用是不带引号的,$(日期)
扩展到它所包含的所有单词,双空格由于单词拆分而被压缩。确切地说:echo
打印它的参数,每个参数用一个空格分隔,并且由于第一次调用是不带引号的,$(date)
扩展到它所包含的所有单词,双空格由于单词拆分而被压缩。这是一个很好的阅读来解释你所看到的。谢谢你的链接。这是一个很好的阅读来解释你所看到的。谢谢你的链接。