bash-3.2.57-alt1 (the same is true for bash4 --rpm-requires) Example: $ echo 'foo | bar' | bash --rpm-requires executable(/etc/bashrc) executable(foo) executable(bar) $ echo '(foo | bar)' | bash --rpm-requires executable(/etc/bashrc) executable(foo) executable(bar) $ echo 'echo $(foo | bar)' | bash --rpm-requires executable(/etc/bashrc) $ echo 'echo `foo | bar`' | bash --rpm-requires executable(/etc/bashrc) $ Expected output everywhere: executable(foo) executable(bar)
At least this behaviour is documented: "command substitutions, conditional expressions, and eval builtin are not parsed so some dependencies may be missed."