Quando executo uma imagem do Centos 7 Docker como esta
docker run -it centos:7 bash
Executar algo que usa Process Substitution está bem (como esperado, pois o Bash suporta a substituição de processos desde o início dos tempos - Bash 1.4.x na verdade).
Por exemplo:
while IFS= read -r test; do echo $test; done < <(cat anaconda-post.log)
Mas quando mudo para /bin/sh o mesmo código não funciona mais
/bin/sh
while IFS= read -r test; do echo $test; done < <(cat anaconda-post.log)
sh: syntax error near unexpected token `<'
Embora /bin/sh pareça ser Bash
/bin/sh --version
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
Mas então por que a substituição de processos não funciona mais? Outros recursos não POSIX parecem funcionar, embora
echo ${PATH//:/ }
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin