このコマンドティー <<-'EOF' でハイフン(‐)の目的は何ですか? [コピー]

このコマンドティー <<-'EOF' でハイフン(‐)の目的は何ですか? [コピー]

次のコマンドを見ました。

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"]
}
EOF

ハイフン(‐)は何に使用されますか?ハイフンを削除してもうまくいきます。

ベストアンサー1

ハイフン/ダッシュは、このドキュメントから先行タブ文字を削除するようにシェルに指示するために使用されます。これは文書化されています。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

おすすめ記事