You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As mentioned here, a few possible bash expressions are just not feasible to parse, and do have shellcheck emit errors about them too.
First is a command substitution with "$((" which is also used by arithmetic expansions - it's just impossible to distinguish them and shellcheck
$((use fancy || use taamey) && echo ttf)
we cannot know if it's one or the other without some really complex scanner logic - and shells have different behavior regarding this according to shellcheck, some don't allow it and some do, so please, do not do this.
Another one is..this monstrosity:
word="`echo \"${2}\" | sed -e\"s|=.*$||\" -e\"s|^.*opt ||\"`"
This makes me dizzy just thinking about it, but I'm pretty sure statefulness would be needed for stuff within quotes within escaped quotes - that's just too much (the main issue is the $)
Lastly, there's this:
[ -e "${EROOT}"/usr/lib/gtk-2.0/2.[^1]* ]
Which, according to shellcheck -e doesn't even work with globs, and I'm not sure if this is entirely valid anyways. Imo this is the easiest one to fix but I'm just unsure about its validity.
The text was updated successfully, but these errors were encountered:
Regarding [ -e "${EROOT}"/usr/lib/gtk-2.0/2.[^1]* ]: This is sloppy but valid code. Bash will expand the glob /usr/lib/gtk-2.0/2.[^1]* (since it's unquoted) and pass the matching filenames as arguments to the [ builtin.
As mentioned here, a few possible bash expressions are just not feasible to parse, and do have shellcheck emit errors about them too.
First is a command substitution with "$((" which is also used by arithmetic expansions - it's just impossible to distinguish them and shellcheck
$((use fancy || use taamey) && echo ttf)
we cannot know if it's one or the other without some really complex scanner logic - and shells have different behavior regarding this according to shellcheck, some don't allow it and some do, so please, do not do this.
Another one is..this monstrosity:
This makes me dizzy just thinking about it, but I'm pretty sure statefulness would be needed for stuff within quotes within escaped quotes - that's just too much (the main issue is the $)
Lastly, there's this:
[ -e "${EROOT}"/usr/lib/gtk-2.0/2.[^1]* ]
Which, according to shellcheck
-e
doesn't even work with globs, and I'm not sure if this is entirely valid anyways. Imo this is the easiest one to fix but I'm just unsure about its validity.The text was updated successfully, but these errors were encountered: