Esse tipo de coisa é sempre uma dor enorme para mim. Neste caso, já que nenhum dos seus argumentos possui espaços, eu tentaria remover as aspas duplas e deixar o Bash dividi-lo em palavras para sua variável $myoptions
. Então isso:
mkfs.btrfs ${myoptions} /dev/"${mypartition}"
Com as aspas duplas, você obtém um campo, -f -m single -L root
contendo espaços. Sem ele, ele deve ser dividido em campos individuais -f
-m
single
-L
e root
e mostra o mesmo comportamento que digitar mkfs.btrfs -f -m single -L root /dev/sda1
no shell interativo.
Se você tiver alguns argumentos que contenham espaços, talvez seja complicado usar a variável $IFS
e sua codificação.
Você também pode usar a variável especial $@
, que tem suas próprias regras.
Eu escrevo todas as coisas da minha shell para o POSIX, então tenho certeza que existe uma maneira mais fácil de fazer isso no Bash.