Как установить вывод heredoc в локальную переменную [closed]

Перенаправления устанавливаются текущей оболочкой, поэтому sudo не влияет на вашу способность писать в / etc / udev / rules.d .

Обычный трюк для этого - использовать tee :

sudo tee /etc/udev/rules.d/69-libmtp.rules < /tmp/1

Как указано в infixed , однако в этом конкретном случае вам не нужно перенаправление:

sudo cp /tmp/1 /etc/udev/rules.d/69-libmtp.rules

3
04.12.2015, 11:34
1 ответ

Это общий пример, но я смог сделать то же самое с интерактивным nslookup:

output_text=`nslookup<<-monkies
      www.google.com
      exit
      monkies`
echo "Output: $output_text"

Заключив всю команду в тильды, вывод можно сохранить в переменной. Это не всегда красиво (в зависимости от команды, выполняемой heredoc ), но это работает.

Это решило мою проблему с сохранением вывода heredoc в переменную в bash.

0
27.01.2020, 21:14

Теги

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