I can see >> is append and > is overwrite but I do not know what < < does with a space in the middle. What does this do, and does the direction of these arrows matter?
For example:
while :; do mapfile -td '' archives < <(find . -type f -name '*.zip' -o -name '*.7z' -print0) [[ ${#archives[@]} -eq 0 ]] && break
Advertisement
Answer
<
redirects a file as input to a command.
<(...)
is a process substitution – it is replaced by a non-seekable file. From that file is read the output of the command inside.