From: Timur Tabi Date: Mon, 17 Mar 2025 18:32:15 +0000 (-0500) Subject: copy-firmware: make script smarter about bad parameters X-Git-Tag: 20250410~18^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=142c0a71434fa86d41d36f4b6e4cbba43c29b631;p=thirdparty%2Flinux-firmware.git 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 --- 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: $*"