The info page for shred includes this example code:
i=$(mktemp)
exec 3<>"$i"
rm -- "$i"
echo "Hello, world" >&3
shred - >&3
exec 3>-
The last line is incorrect. It should be "exec 3>&-" which closes file
descriptor 3. As written, the example code creates or truncates a
file literally named "-" instead.
This same error appears on
https://www.gnu.org/software/coreutils/manual/html_node/shred-invocation.html
(as of today) so I believe it's an upstream bug.
Fixed upstream. https://github.com/coreutils/coreutils/commit/d39c52372 Thank you. Pádraig.