Я хочу написать текст из stdin в файл, принадлежащий root.Как использовать перенаправление вывода с помощью sudo?
Я делаю это программно через SSH-соединение - по существу из сценария - поэтому использование текстового редактора не может быть и речи. Терминала нет. Процесс полностью автоматизирован.
Учитывая, что [а] корень высота может быть получена с помощью sudo
, и [б] файлы могут быть записаны с помощью cat
с перенаправлением, я предполагал следующее будет работать:
ssh [email protected] sudo cat >the-file
К сожалению, перенаправление применяется к sudo
, а не к cat
. Как я могу применить перенаправление к cat
в этом примере?
На самом деле, вы можете использовать текстовый редактор, даже через соединение SSH, редакторы, такие как Vim или нано должны работать нормально. Попытайтесь лучше объяснить свой случай с SSH-соединением. Вы уже регистрировались при попытке перенаправления? – paulequilibrio
Ваша команда sudo не отображается правильно. Это должен быть 'sudo -u user -h host cat> the-file'. Это работает на моей системе. «Я делаю это через SSH-соединение, поэтому использование текстового редактора не может быть и речи». Этот вывод не так само собой разумеется, как вы это делаете. Редакторы, такие как 'vim',' nano' и даже 'emacs -nw', отлично работают в терминале. – kaylum
@ John1024 Да, я мог бы использовать тройник, но я бы скорее исправить проблему перенаправления напрямую. –