A expansão de chave que você está perguntando só expandirá para arquivos / diretórios que correspondem no disco ao padrão que você usa. O outro problema que você enfrentará é que diskutil
talvez não consiga lidar com mais de um argumento por vez. Para expandi-las, é necessário fazer um loop while
ou for
e passar os resultados para diskutil
enquanto você percorre o loop.
Exemplo
$ for i in /dev/*; do diskutil "$i";done
Quanto à sua segunda questão, não existe realmente nenhum método em que a expansão de chaves possa ajudá-lo em situações em que não há arquivos / diretórios correspondentes no disco.
Analisando o diskutil
Dada a saída desse comando, você terá que recorrer ao uso de uma ferramenta como awk
, sed
ou grep
para "analisar" essa saída para obter informações significativas sobre os discos, para mais consultas chamando diskutil
pela segunda vez.
Exemplo
Aqui está um resumo da análise da saída de diskutil
usando grep
e sed
. Existem maneiras mais eficientes de fazer isso, mas isso mostra a abordagem geral.
$ diskutil list | grep -E "[ ]+[0-9]+:.*disk[0-9]+" | sed 's/.*\(disk.*\)//'
disk0
disk0s1
disk0s2
disk0s3
Com essa abordagem, você pode modificar o loop for
acima da seguinte forma:
$ for i in $(diskutil list | grep -E "[ ]+[0-9]+:.*disk[0-9]+" | \
sed 's/.*\(disk.*\)//'); do diskutil info $i; done