У меня есть следующая команда, которую я запускаю из скрипта. В файле скрипта она записана в этой довольно длинной строке:
sudo zip -r /var/www/html/html-$(date +\%F-\%T-).zip /var/www/html -x /var/www/html/wp-content/cache
Пока все хорошо, но я хочу разделить эту команду на несколько частей.горизонтально, нравиться:
sudo zip -r /var/www/html/html-$(date +\%F-\%T-).zip /var/www/html || -x /var/www/html/wp-content/cache
Откуда ||
должны появиться неисполненные символы, которые будут использоваться только для «эстетического» разделения команды на две части.
Или, может быть, даже вертикально, как:
sudo zip -r /var/www/html/html-$(date +\%F-\%T-).zip /var/www/html
-x /var/www/html/wp-content/cache
Каков, по-вашему, наилучший способ этого добиться?
решение1
Если я правильно понимаю, чего вы пытаетесь добиться, вам следует использовать \
. Это позволяет разбивать длинные команды на несколько строк.
sudo zip -r \
/var/www/html/html-$(date +\%F-\%T-).zip \
/var/www/html \
-x /var/www/html/wp-content/cache
Помните, что пробелы перед косыми чертами важны. Оболочки не вставляют их автоматически, поэтому команда типа
echo\
"asdf"
скорее всего, приведет к ошибке «команда не найдена» (@ilkkachu).