Почему / bin / sh ведет себя иначе, чем / bin / bash, даже если один указывает на другой?

Пока я играл в своей раковине, изучая ответэтот вопросЯ заметил это, хотя/bin/sh указывал на/bin/bash в моей системе две команды ведут себя по-разному. Прежде всего, вывод

ls -lh /bin/sh

является:

lrwxrwxrwx 1 root root 4 Apr 22  2013 /bin/sh -> bash*

Тем не менее, вызывая следующую команду через/bin/sh:

/bin/sh -c "script.sh 2> >( grep -v FILTER 2>&1 )"

возвращает эту ошибку:

/bin/sh: -c: line 0: syntax error near unexpected token '>'
/bin/sh: -c: line 0: 'script.sh 2> >( grep -v FILTER 2>&1 )'

Во время выполнения той же команды через/bin/bash:

/bin/bash -c "script.sh 2> >( grep -v FILTER 2>&1 )"

выполняется успешно, вот вывод:

This should be on stderr

Для справки, вот содержаниеscript.sh:

#!/bin/sh
echo "FILTER: This should be filtered out" 1>&2
echo "This should be on stderr" 1>&2
echo "FILTER: This should be filtered out" 1>&2

Почему два вызова ведут себя по-разному?

Ответы на вопрос(4)

Ваш ответ на вопрос