複数行をエコーする方法


3

私はそのような行を持っています:

server {
    listen       80;
    server_name  $brand.mydomain.com;
    root         /srv/www/clients/$brand/soon;
}

/ etc / nginx / sites-available / defaultの末尾に、これらすべての行を一度に追加する方法を教えてください。

このテキストをこの中にラップする:

cat >/etc/nginx/sites-available/default  <<'EOT'
  EOT

機能しますが、ファイル内のすべてのコンテンツが消去されます。追記したい。これでラッピングしようとしました:

  cat >/etc/nginx/sites-available/default  >>'EOT'
  EOT

しかし、スクリプトはハングアップするだけです。


cat >> file 追加する cat> file ファイルを再作成します。あなたの場合 cat >> /etc/nginx/sites-available/default
Hastur

回答:


2

ファイルに追加するには、使うべきです >>
ファイルが存在する場合は、コマンドの出力がファイルに追加されます。
存在しない場合は、単一のものを使用した場合と同じように作成されます。 >

あなたのケースでは代用した解決策 >> /etc/nginx/sites-available/default の代わりに > ... うまくいくはずです。


2

あなたが使用することができます >> の代わりに > ファイルにテキストを追加する

$ cat >> /etc/nginx/sites-available/default  <<'EOT'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.