From 142c0a71434fa86d41d36f4b6e4cbba43c29b631 Mon Sep 17 00:00:00 2001 From: Timur Tabi Date: Mon, 17 Mar 2025 13:32:15 -0500 Subject: [PATCH] copy-firmware: make script smarter about bad parameters Two improvements to copy-firmware.sh that make it more friendly when passed unknown or not exactly correct command-line parameters. 1) Don't fail with a weird error if there's a space between -j and the number. 2) Ignore any command-line unsupported parameters that start with a dash. This is necessary because otherwise the script will assume the option is actually a destination directory, and then the "test" command will get confused. Drawback is that we don't support any more destination directories that start with a dash, but no one does that. Signed-off-by: Timur Tabi --- copy-firmware.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/copy-firmware.sh b/copy-firmware.sh index 9a2b7156..cd5a6893 100755 --- a/copy-firmware.sh +++ b/copy-firmware.sh @@ -44,6 +44,7 @@ while test $# -gt 0; do -j*) num_jobs=$(echo "$1" | sed 's/-j//') + num_jobs=${num_jobs:-1} if [ "$num_jobs" -gt 1 ] && ! has_gnu_parallel; then err "the GNU parallel command is required to use -j" fi @@ -76,6 +77,13 @@ while test $# -gt 0; do exit 1 ;; + -*) + # Ignore anything else that begins with - because that confuses + # the "test" command below + warn "ignoring option $1" + shift + ;; + *) if test -n "$destdir"; then err "unknown command-line options: $*"