У меня есть два случая, когда я хочу создать файл с его содержимым, поступающим на стандартный ввод:
- Мне нужно использовать
sudo
чтобы иметь права на создание файла. - Приложение всегда вызывает (интерактивный) редактор, указанный в
$EDITOR
для дальнейшей обработки этого ввода, но вместо этого я хочу передать данные из программы.
В первом случае я мог бы использовать echo test | sudo bash -c 'cat > test.txt'
, но в этом, как и в последнем случае, я обычно использую tee
и направляю стандартный вывод tee
в /dev/null
:
echo test | sudo tee test.txt > /dev/null
echo test | EDITOR=tee application > /dev/null
Однако это не только отбрасывает стандартный вывод tee
, но и (в последнем случае) application
. Было бы предпочтительно иметь возможность специально подавлять стандартный вывод tee
, чтобы я мог сразу заметить, что что-то еще записывается в стандартный вывод.
Есть ли в стандартных дистрибутивах Linux утилита, которая записывает стандартный ввод в файл, указанный в качестве аргумента командной строки, и ничего не выводит?