3 ms·
Surely a repo dedicated to bash would know not to use $@ without its quotes :-( https://github.com/bash-my-aws/bash-my-aws/blob/e5cdae316084b1b13b664923e4afbbd5
by mdaniel 2y ago
Surely a repo dedicated to bash would know not to use $@ without its quotes :-( https://github.com/bash-my-aws/bash-my-aws/blob/e5cdae316084b1b13b664923e4afbbd59f45bd1f/lib/instance-functions#L24 https://github.com/bash-my-aws/bash-my-aws/blob/e5cdae316084...
Have they not heard of shellcheck?
- mike-bailey 2y agoThe __bma_read_filters function is designed to take all arguments and join them with | to create a grep pattern. Adding quotes around $@ would break this functionality because: __bma_read_filters "arg1 arg2" arg3 With unquoted $@: • Gets word split into: arg1 arg2 arg3 • Results in: arg1|arg2|arg3 With quoted "$@": • Would be passed as: "arg1 arg2" arg3 • Results in: "arg1 arg2"|arg3 The unquoted version is correct here since the function is intentionally using word splitting to create individual grep pattern elements. This is one of those cases where the normal "always quote your variables" rule has a valid exception because word splitting is part of the intended behavior.