Наличие много строк в ударе управляет заменой

Проверьте этот URL: http://www.kernel.org/pub/linux/kernel/

5
08.07.2013, 11:40
2 ответа

Можно замаскировать новую строку с \.

$( com\
aaaaaaaaaaaaaa\
aaaaaaaaaaaaaa\
nd )

\ говорит оболочке игнорировать новую строку.

12
27.01.2020, 20:31
  • 1
    \ часть корректна, но Вы не можете расположить последующие строки с отступом. (По крайней мере, не посреди слов как в примере.) –  manatwork 08.07.2013, 11:46
  • 2
    да копирует, и вставка является проклятием! :) –  Raphael Ahrens 08.07.2013, 11:48
  • 3
    я проверил его и это работает, даже имея добавления отступа! –  coffeMug 08.07.2013, 11:54
  • 4
    @Coffe_Mug Это работает только если commaaaaaaaaaaaaaand на самом деле command with a lot of options and | maybe pipes etc. Иначе это не работает с добавлением отступа. Попробовать echo $(ec\<NEWLINEHERE>ho a), работы, в то время как echo $(ec\<NEWLINE HERE><INDENTATION HERE>ho a) произведите ЕС: команда, не найденная. В то время как echo $(echo Hello,\<NEWLINE HERE> World)[отметьте пространство после новой строки] и echo $(echo Hello,<NEWLINE HERE><INDENTATION HERE> World) сделайте точно то же самое. –  Bakuriu 08.07.2013, 16:28
  • 5
    @Bakuriu: для ярмарки последний пример, это делает точно то же самое, потому что Вы забыли окружать параметры эха, "(как в: echo "$(echo "Hello,\<NEWLINE HERE> World")" ) таким образом, внешнее эхо получает несколько параметров, и разделите их только с 1 разделителем по умолчанию. –  Olivier Dulac 09.07.2013, 12:14

Если существует канал | символы в долгой командной строке Bash, не может быть никакой потребности в обратной косой черте \ замаскировать новую строку потому что канал | символы могут использоваться для того, чтобы форматировать Ваш код также.

# example
ls | 
 cat -n | 
 tail   | 
 head
10
27.01.2020, 20:31

Теги

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