Перенаправления устанавливаются текущей оболочкой, поэтому 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
Это общий пример, но я смог сделать то же самое с интерактивным nslookup:
output_text=`nslookup<<-monkies
www.google.com
exit
monkies`
echo "Output: $output_text"
Заключив всю команду в тильды, вывод можно сохранить в переменной. Это не всегда красиво (в зависимости от команды, выполняемой heredoc ), но это работает.
Это решило мою проблему с сохранением вывода heredoc в переменную в bash.