为什么命令md5sum <<< 'ddd'
(输出d6d88f2e50080b9602da53dac1102762 -
:)正确,而不md5sum << 'ddd'
正确?
这是什么<<<
意思?
答案1
开始<<<
一个“here string”:该字符串被扩展并馈送到程序的标准输入。 (在您的情况下,没有发生太多扩展。)它相当于:
echo ddd | md5sum
另一方面,<<
启动一个此处文档。以下所有行(直到包含标记的行)ddd
都将构成程序的输入。 (您应该使用不太可能出现在数据中的标记。)您可以实现与上面相同的效果,如下所示:
md5sum <<END
ddd
END
<<END
和之间有一个区别<<'END'
:如果没有引号,此处文档中的任何变量、转义序列等都将照常展开。