Bash echo multi line до конца файла, но не выводит эхо в терминале - PullRequest
0 голосов
/ 10 февраля 2019

Я пишу пользовательскую функцию псевдонима, чтобы создавать свои vhosts для меня всякий раз, когда я создаю новый веб-проект.В моей функции я хочу вставить весь новый виртуальный хост в мой файл httpd-vhosts.conf.Сначала я запрашиваю ввод для имени домена и имени папки, чтобы создать как это

read -p 'Please enter the domain for your new site: ' domain;
read -p 'Please enter the folder name for your new site: ' folder;

, а затем в своей функции я пишу в мой httpd-vhosts.conf файл как этот

echo "
   <VirtualHost *:80>
     ServerAdmin $domain
     DocumentRoot \"/Users/sam/Development/Websites/$folder\"
     ServerName $domain
     ErrorLog \"/usr/local/var/log/httpd/$folder/error_log\"
     CustomLog \"/usr/local/var/log/httpd/$folder/access_log\" common
   </VirtualHost>" | sudo tee -a /usr/local/etc/httpd/extra/httpd-vhosts.conf;

Но я заметил, что это эхо в терминале, а также в файле conf.Функция работает отлично, но как мне заставить ее НЕ отображать эхо в терминале?

Нужно ли использовать что-то отличное от echo для добавления в файл, чтобы добиться этого?

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Просто перенаправить на /dev/null:

echo "
   <VirtualHost *:80>
     ServerAdmin $domain
     DocumentRoot \"/Users/sam/Development/Websites/$folder\"
     ServerName $domain
     ErrorLog \"/usr/local/var/log/httpd/$folder/error_log\"
     CustomLog \"/usr/local/var/log/httpd/$folder/access_log\" common
   </VirtualHost>" | sudo tee -a /usr/local/etc/httpd/extra/httpd-vhosts.conf > /dev/null

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

0 голосов
/ 10 февраля 2019

вместо tee вы можете использовать >>

sudo sh -c "echo \"
   <VirtualHost *:80>
     ServerAdmin $domain
     DocumentRoot \"/Users/sam/Development/Websites/$folder\"
     ServerName $domain
     ErrorLog \"/usr/local/var/log/httpd/$folder/error_log\"
     CustomLog \"/usr/local/var/log/httpd/$folder/access_log\" common
   </VirtualHost>\" >> test2.out"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...