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
An unescaped and unquoted & terminates the command, but here it's used in the middle of what would otherwise be a shell word. This most commonly happens when copying a URL with query string parameters without escaping the &.
Either quote or escape the & if you wanted it as a literal ampersand, or add a space after it to make it easier to see where the previous command stopped.
Exceptions:
If you do want to background one command and run another, e.g. sleep 10&wait, just add a space or linefeed after the & to make this more obvious: sleep 10& wait
This does not change the meaning of the script, it just makes it clear to ShellCheck (and other humans) that the & isn't supposed to be a part of the shell world.
Related resources:
Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!