Bash

這裡字元串的結尾是什麼?

  • November 22, 2018

在我看來,這裡字元串的結尾是換行符。我意識到我錯了:

$ cat <<< hello world
cat: world: No such file or directory

什麼可以表示此處字元串的結束?

這裡字元串的語法是

<<< word

其中單詞是被 shell 視為一個單元的字元序列,由空格分隔。這可以是單個正常單詞 ( hello)、單引號或雙引號字元串 ( 'hello world', "hello world")、參數或命令替換 ( $foo, $(...))、由反斜杠轉義組合而成的內容,或者是這些組合在一起的組合。

您可以在一行上有多個 here-documents 或 here-strings,因此行尾不能作為唯一的分隔符,但如果還沒有的話,它將在那裡結束(除非換行符是反斜杠轉義的)。

你會得到你想要的效果

cat <<<'hello world'

或者

cat <<<hello\ world

引用自:https://unix.stackexchange.com/questions/483545