Here-Document

單行 heredocument - 可能在 Bash 中?

  • August 27, 2018

我希望在單行中執行catheredocument,而不是 3 行的自然語法(開頭、內容和分隔符)。我這樣做主要是為了美觀,因為重定向的內容旨在成為手冊文本文件的一部分,並且我想在該特定文件中保存盡可能多的行)。

這樣做cat <<< TEST > ~/myRep/tiesto tiesto TEST(我通常會分成 3 個部分)會導致錯誤:

tiesto:沒有這樣的文件或目錄

測試:沒有這樣的文件或目錄。

甚至可以在 Bash 中執行一行 heredocuments 嗎?

是的,但是您將使用here-string而不是here-document

cat >"$HOME/myRep/tiesto" <<<'tiesto'

這會將字元串發送tiesto到其標準輸入,並通過其標準輸出的重定向將cat字元串寫入文件。$HOME/myRep/tiesto

請注意,here-strings 不是標準的,但至少由zsh(它來自哪裡,與 UNIX 版本同時實現rc,儘管它rc及其派生類喜歡esakanga不添加額外的換行符), ksh93, bash,mkshyash.

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