Такие вещи всегда причиняют мне огромную боль. В этом случае, поскольку ни один из ваших аргументов не имеет пробелов, я бы попытался удалить двойные кавычки и позволить Bash разбить его на слова для вашей $myoptions
переменной. Итак, это:
mkfs.btrfs $ /dev/"$"
С двойными кавычками вы получаете одно поле, -f -m single -L root
содержащее пробелы. Без него, он должен быть разбит на отдельные поля -f
-m
single
-L
и root
и показать такое же поведение, как печататьmkfs.btrfs -f -m single -L root /dev/sda1
в интерактивной оболочке.
Если у вас есть аргументы, содержащие пробелы, вам, возможно, придется запутаться с $IFS
переменной и вашей кодировкой.
Вы также можете использовать специальную переменную $@
которая имеет свои собственные правила.
Я пишу все свои оболочки в POSIX, так что я уверен, что в Bash есть более простой способ сделать это.