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