在这里使用两个字符串

时间:2013-11-11 10:50:01

标签: bash shell heredoc

我可以使用herestrings将字符串传递给命令,例如

cat <<< "This is a string"

如何使用herestrings将两个字符串传递给命令?我该怎么办

### not working
diff <<< "string1" "string2"

### working but overkill
echo "string1" > file1
echo "string2" > file2
diff file1 file2

2 个答案:

答案 0 :(得分:7)

您不能使用两个herestrings作为同一命令的输入。实际上,最新版本将取代所有其他版本。示范:

cat <<< "string 1" <<< "string 2" <<< "string 3"
# only shows "string 3"

另一方面,如果您想要的是两个即时输入,您可以这样做:

diff <(echo "string 1") <(echo "string 2")

答案 1 :(得分:2)

您可以简单地连接两个字符串:

cat <<< "string1""string2"

(不是两者之间缺乏空间)。 here字符串现在由一个单词组成,其内容是两个字符串的内容。