]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
scripts: Support short options being squished togethers for plymouth-set-default...
authorRay Strode <rstrode@redhat.com>
Mon, 21 Mar 2022 19:10:30 +0000 (15:10 -0400)
committerRay Strode <halfline@gmail.com>
Mon, 28 Mar 2022 16:24:06 +0000 (16:24 +0000)
People expect to be able to squish short options together, so
this commit adds some glob matching to support that feature.

scripts/plymouth-set-default-theme.in

index ed999e90c234695c943dedc75a72ddd819828fce..c6ebd932f385f7038fdb712909e6b87bd5e62625 100755 (executable)
@@ -122,6 +122,27 @@ while [ $# -gt 0 ]; do
                 DO_HELP=1
         ;;
 
+        -[!-]*-*)
+                echo "Short options can't have embedded dashes" >&2
+                echo $(usage) >&2
+                exit 1
+        ;;
+
+        -[!-][!-]*)
+                COMPRESSED_OPTIONS="$1"
+                shift
+
+                ARGS=($COMPRESSED_OPTIONS $(echo $COMPRESSED_OPTIONS | sed -e 's/^-//' -e 's/[^-]/-& /g') "$@")
+
+                set -- "${ARGS[@]}"
+        ;;
+
+        -*)
+                echo "Unknown option: '$1'" >&2
+                echo $(usage) >&2
+                exit 1
+        ;;
+
         *)
                 if [ -n "$THEME_NAME" ]; then
                         echo "You can only specify one theme at a time" >&2