2017-04-02 62 views
0

我一直在玩Linux终端,这里有一件奇怪的事情,我无法解释。当我输入下面的命令,日历原来在终端格式化:在Linux终端中格式化日历

echo "$(cal)" 

然而,当I型没有引号的相同命令,日历未格式化。

echo $(cal) 

这是为什么?

回答

0

如果你输入cal,你会得到格式在几行上的日历。 echo的手册页说,它“将每个给定的STRING写入标准输出,每个字符与最后一个换行符之间有一个空格。”所以,当你输入echo $(cal)时你所看到的就是这样 - cal输出的每一行都被当作一个单独的字符串,并被写入标准输出,每个行之间有一个空格。当你说echo "$(cal)"时,你会得到输出的文字值 - 换行符和全部。

任何返回字符串输出的命令都是如此 - 请使用ifconfig来尝试。

希望这会有所帮助!