Here-Document
此命令 tee <<-‘EOF’ 中使用的連字元 (‐) 是什麼?
我看到了以下命令:
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"] } EOF
連字元 (‐) 是做什麼用的?即使我刪除連字元,它也能正常工作。
連字元/破折號用於告訴外殼從此處文件中刪除任何前導製表符。這由 POSIX記錄為 here-document 重定向的一部分:
如果重定向運算符是,則應從輸入行和包含尾隨分隔符的行中去除
<<-
所有前導字元。<tab>
$$ … $$
該功能允許創建更漂亮的腳本:
while some-condition; do some-command <<-END_INPUT some data goes here END_INPUT done
(此處文件中的每一行和包含
END_INPUT
分隔符的行都使用製表符縮進),而不是while some-condition; do some-command <<END_INPUT some data goes here END_INPUT done