Here-Document
單行 heredocument - 可能在 Bash 中?
我希望在單行中執行
cat
heredocument,而不是 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
及其派生類喜歡es
或akanga
不添加額外的換行符),ksh93
,bash
,mksh
和yash
.