
Я хотел бы скормить команде стандартный ввод и одновременно сбросить этот стандартный ввод в файл. Это просто неудачная попытка:
read | tee dump.txt
эта команда ожидает стандартный ввод. Я ожидаю, что все, что я ввожу, будет передано read
И сброшено в dump.txt. Как это сделать?
решение1
Поменяйте местами конвейер: сначала пропустите вывод, tee
чтобы сохранить копию в файле, а затем снова скопируйте его на стандартный вывод, а затем передайте его в вашу фактическую команду.
Я использую cat
здесь вместо этого, потому что он принимает неопределенное количество входных данных и не завершается после первой строки (плюс дополнительный символ новой строки, см.здесьдля объяснения этого) например read
:
echo something | tee dump.txt | cat