scripts: Address shellcheck issues

Report issues by shell files with:

    git ls-files '*.sh' | xargs shellcheck --exclude=SC2162

Address the following:

- SC1087: Use braces when expanding arrays
- SC1091: Not following
- SC2004: `$`/`${}` is unnecessary on arithmetic variables
- SC2024: `sudo` doesn't affect redirects
- SC2034: foo appears unused. Verify it or export it
- SC2086: Double quote to prevent globbing and word splitting
- SC2087: Quote `EOF`
- SC2115: Use `"${var:?}"` to ensure this never expands to `/*`
- SC2148: Add a shebang

Addresses (at least partially) some POSIX/dash issues:

- SC2113: `function` keyword is non-standard
- SC3010: In POSIX sh, `[[` `]]` is undefined
- SC3014: In POSIX sh, `==` in place of `=` is undefined
- SC3020: In POSIX sh, `&>` is undefined
- SC3046: In POSIX sh, `source` in place of `.` is undefined

Does not address:

- SC2162: `read` without `-r` will mangle backslashes
- Any other POSIX/dash-specific issues

Signed-off-by: Tim Crawford <tcrawford@system76.com>
This commit is contained in:
Tim Crawford
2023-10-13 21:53:41 -06:00
committed by Jeremy Soller
parent aa32ba26e1
commit 968a612824
21 changed files with 50 additions and 44 deletions

View File

@ -12,7 +12,7 @@ cargo build --manifest-path "scripts/modeltool/Cargo.toml" --release
MODELTOOL="$(realpath "scripts/modeltool/target/release/modeltool")"
function readme_model {
readme_model() {
echo -e "\x1B[1m$1\x1B[0m" >&2
pushd "$1" > /dev/null
@ -28,7 +28,7 @@ do
readme_model "${dir%/}"
done
function readme_line {
readme_line() {
echo -e " \x1B[1m$1\x1B[0m" >&2
name="$(basename "$1")"
@ -42,7 +42,7 @@ function readme_line {
fi
submodule="$(git submodule status "$1" 2> /dev/null | cut -d ' ' -f 3 || true)"
if [ "$submodule" == "$1" ]
if [ "$submodule" = "$1" ]
then
# Link to submodule URL
origin="$(git -C "$1" remote get-url origin)"
@ -53,7 +53,7 @@ function readme_line {
fi
}
function readme_dir {
readme_dir() {
echo -e "\x1B[1m$1\x1B[0m" >&2
pushd "$1" > /dev/null