Estoy tratando de lista (salida) de la unidad de su Mac OS X nombre de la número de serie en el Bash shell 3.2 en la línea de comandos. Para esto necesito un bucle a través de todos los dispositivos de bloque no ser una partición. Así que necesito un mejor reemplazo para este bash bucle: for disk in /dev/disk*; do …; done
Quiero usar ls
sólo, eventualmente con un patrón de caracteres comodín, sin tuberías (a través de la grep
) y sin otros utilitarios (como find
).
Es como ls /dev/disk*
pero no coincidencia de las particiones que termina en s1
(como /dev/disk0s1
), s2
etcétera.
Regresión
La falta de intentos:
$ ls /dev/disk[0-9]*[!s][!1-9]
$ ls /dev/disk[0-9]*[!s,!1-9]
$ ls /dev/disk* -d -- *[!s][1-9]
$ ls /dev/disk[0-9]*[!s,1-9]
$ ls /dev/disk[0-9]*[!s]
$ ls /dev/disk[0-9]*[!s][0-9]
$ ls /dev/disk[0-9]*[!s]*
$ ls /dev/disk[0-9]*[!\s1-9]
$ ls /dev/disk[0-9]*[!s1-9]
$ ls /dev/disk[0-9]*([!s1-9])
$ ls /dev/disk[0-9]*[!s]*[0-9]
$ ls /dev/disk[0-9][0-9]
$ ls /dev/disk* --ignore="disk*s?"
$ ls /dev/disk* -I "*s?"
$ ls /dev/disk* -I "*s[1-9]"
$ ls /dev/disk*[!s?]