之間有什么區別
cat >test.txt <<\EOF
hello
world
EOF
和
cat >test2.txt << EOF
hello
world
EOF
我正在撰寫一個基于 ANTLR 的語法著色,而\after<<激怒了我(在示例檔案中找到)。這是什么意思?我可以忽略它的語法著色-嗎?
uj5u.com熱心網友回復:
來自關于 here-document 語法的POSIX 標準:
如果word 的任何部分[-GD 之后的東西
<<] 被參考,則將通過對word進行參考去除形成分隔符,并且不得擴展 here-document 行。否則,分隔符應為單詞本身。
那么......你是否在此處的檔案中為外殼擴展著色?也就是說,在這樣的事情中:
cat >test2.txt << EOF
hello $somevar
world $(somecommand)
EOF
你分別將顏色$somevar和$(somecommand)作為變數和命令擴展嗎?如果是這樣,如果分隔符被參考或轉義,您需要禁用它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/404398.html
標籤:
上一篇:BASH遞回函式
下一篇:將未壓縮的檔案提供給命令列引數
