我看到了以下命令:
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"]
}
EOF
连字符 (‐) 有何用途?即使我删除连字符它也能正常工作。
答案1
连字符/破折号用于告诉 shell 从此处文档中删除任何前导制表符。这是有记录的通过 POSIX作为此处文档重定向的一部分:
如果重定向运算符是,则应从输入行和包含尾随定界符的行中去除
<<-
所有前导字符。<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