Создание новых файлов в сценарии Shell с использованием VIM

В моем случае я использовал

ssh -vv 

для просмотра подробной информации об отладке, и именно поэтому сервер показывал

debug2: канал 0: запрос изменения окна подтверждения 0

в терминале. Я вышел из оболочки, а затем снова подключился к bash без подробностей (-vv), и проблема исчезла.

0
29.04.2017, 16:05
2 ответа

Если это из сценария оболочки, я бы рекомендовал вообще отказаться от vim и вместо этого использовать эхо, т.е. echo "образец текста" > file.cfg это создаст ваш файл и наполнит его необходимым содержимым.

1
28.01.2020, 02:19

Не нужно запускать vim, просто используйте здесь-документ:

cat >/etc/httpd/conf.d/cgi-enabled.conf <<END_CONF
<Directory "/var/www/html/cgi-enabled">
    Options +ExecCGI
    AddHandler cgi-script .cgi .pl
</Directory>
END_CONF

Текст между < и последним разделителем END_CONF будет сохранено в /etc/httpd/conf.d/cgi-enabled.conf через перенаправление cat. Выбор разделителя произвольный, но обычно используется слово в верхнем регистре.

Если у вас есть переменные оболочки (или что-то похожее на переменные оболочки) в здесь-документе, и вы не хотите, чтобы они заменялись их значениями, вы должны заключить первую в одинарные кавычки. END_CONF:

cat >/etc/httpd/conf.d/cgi-enabled.conf <<'END_CONF'
<Directory "/var/www/html/cgi-enabled">
    Options +ExecCGI
    AddHandler cgi-script .cgi .pl
</Directory>

<!-- $HOME will not be expanded here -->
END_CONF
3
28.01.2020, 02:19

Теги

Похожие вопросы