От man 1 pv
:
Обратите внимание, что если размер ввода не может быть рассчитан, а выход является блочным устройством, тогда будет использован размер блочного устройства, и pv
автоматически остановится на этом размере, как если бы был задан -S
.
Это «как будто -S
», чтобы избежать "не осталось места на устройстве" и успешно завершить работу.
Если вам интересно, почему pv
может знать размер своего стандартного вывода, тогда ответ таков:
Это не тот случай, когда pv
потоки передаются на fifo, а затем оболочка читает fifo и записывает в /dev/sdd
. Что происходит, так это то, что оболочка заставляет дескриптор файла pv
1 указывать на /dev/sdd
с самого начала, поэтому процесс может обнаружить, что это блочное устройство, запросить его размер и т.д.