Я использую, | sudo tee FILENAME
чтобы иметь возможность писать или добавлять в файл, для которого права суперпользователя требуются довольно часто.
Хотя я понимаю, почему это полезно в некоторой ситуации, которая tee
также отправляет свой вклад в STDOUT, я никогда не использовал эту часть tee
для чего-либо полезного. В большинстве случаев эта функция приводит к тому, что мой экран заполняется нежелательным дрожанием, если я не делаю дополнительный шаг и вручную отключаю его tee 1> /dev/null
.
Мой вопрос: есть ли команда arround, которая делает то же самое tee
, но по умолчанию ничего не выводит в STDOUT?
linux
command-line
posix
tee
Американские экспедиционные войска
источник
источник
tee
сcat >filename
, вы получите результаты , которые вы хотите?cat
не пишет в файлы сам по себе. И>
оператор не работает, поскольку файлы не доступны для записи моим текущим пользователем. Так что нет, это немного не помогает. И, пожалуйста, прекратите полностью изменять значение вашего комментария каждые 2 секунды. Сделайте новый вместо этого.| sudo tee FILENAME
с| sudo cat >filename
, вы получите результаты , которые вы хотите?>
оператор использует текущего пользователя оболочки для записи в файл. Этот пользователь не имеет необходимых разрешений.cat
совершенно бесполезно для этого.Ответы:
Другой вариант, который позволяет избежать возврата материала, а затем
/dev/zero
-источник
oflag=append conv=notrunc
опции, которые нужно использоватьdd
для добавления.dd
Решение до сих пор печатает мусор на стандартный вывод:Этого можно избежать, используя
status
опцию:Еще одна интересная возможность (для Linux в любом случае):
Чтобы скопировать ввод TTY в файл, я часто делаю это:
Жаль, что у тройки нет возможности подавить стандартный вывод.
источник
Вы могли бы использовать скрипт. Т.е. поставить что-то подобное в ie
$HOME/bin/stee
,0tee
или аналогично:Сделайте это выполнимым:
Теперь сделайте то есть:
источник
Вы можете заключить всю команду в sudo, поэтому сама оболочка и перенаправления выполняются следующим образом
root
:источник
Для этого не существует программы (это единственный случай, когда это будет полезно), но вы можете легко написать свою собственную. Если вы не хотите программировать, вы также можете написать простой скрипт , который делает то же самое:
cat > $1
. Это отличается от помещения его в строку (как предложено опилками), потому что sudo будет применяться ко всему сценарию, включая перенаправление.источник
Я знаю, что уже слишком поздно, но что я делаю в таких случаях (когда нужен «плоский» стандартный вывод, но также и временный файл):
источник
/dev/null
, и не делает команду короче. В чем преимущество использования этого метода вместо оригинального?