System: linux 64-bit (debian stable, latest release buster)
Bash version: GNU bash, version 5.0.3(1)-release (x86_64-pc-linux-gnu)

This bug occurs with the root account,

If a normal user types "su -l<enter>" and issues this "ls" statement,

ls -ld .!(?(.))

the output is without error. (the output lists all dot items with the exception of the annoying literals "." and "..")

If "su<enter>" (without the -l), is given instead, then "!" is taken to be something else as though I am attempting to fire up a bash history command (eg: "!100" to run the 100th command from bash's history list)

The error with ls -ld .!(?(.)) after doing "su<enter>"
"bash: !: event not found"

I could run this command in any directory without any issue, the error only occurs when entering the root account in bash with "su<enter>" from a normal user account.

I'm not sure if this is entirely the fault of bash, but "ps" shows that the shell being used after typing "su" is bash.


Reply via email to