Подтвердить что ты не робот

Создать файл с содержимым из оболочки script

Как я в оболочке script создаю файл с именем foo.conf и заставляю его содержать:

NameVirtualHost 127.0.0.1

# Default
<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot "C:/wamp/www"
</VirtualHost>
4b9b3361

Ответ 1

Используйте "здесь документ":

cat > foo.conf << EOF
NameVirtualHost 127.0.0.1

# Default
<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot "C:/wamp/www"
</VirtualHost>
EOF

Ответ 2

Вы можете сделать это с помощью echo:

echo 'NameVirtualHost 127.0.0.1

# Default
<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot "C:/wamp/www"
</VirtualHost>' > foo.conf

Все, заключенные в одинарные кавычки, интерпретируются как литералы, поэтому вы просто записываете этот блок в файл с именем foo.conf. Если он не существует, он будет создан. Если он существует, он будет перезаписан.

Ответ 3

heredoc может быть самым простым способом:

cat <<END >foo.conf
NameVirtualHost 127.0.0.1

# Default
<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot "C:/wamp/www"
</VirtualHost>
END

Ответ 4

Этот код лучше всего подходит для меня:

sudo dd of=foo.conf << EOF
<VirtualHost *:80>
  ServerName localhost
  DocumentRoot /var/www/localhost
</VirtualHost>
EOF

Это был единственный, который я мог использовать с sudo из коробки!