Bug 32156 - bash --rpm-requires doesn't go into command substitution
Summary: bash --rpm-requires doesn't go into command substitution
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: bash (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-30 20:32 MSK by Ivan Zakharyaschev
Modified: 2018-12-19 01:54 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Zakharyaschev 2016-05-30 20:32:05 MSK
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)
Comment 1 Dmitry V. Levin 2018-12-19 01:54:22 MSK
At least this behaviour is documented:
"command substitutions, conditional expressions, and eval builtin are not parsed so some dependencies may be missed."