В Bash вы можете сделать несколько разных вещей, чтобы сделать это:
А вот строка:
read X Y Z V <<< $(echo "a b c d"); echo $X
Процесс замещения:
read X Y Z V < <(echo "a b c d"); echo $X
А вот документ с подстановкой команд:
read X Y Z V <<EOF
$(echo "a b c d")
EOF
echo $X
Этот метод документа также будет работать с оболочками POSIX в дополнение к Bash.
Если вы читаете из файла, а не из вывода другой команды, это немного проще.