3 votos

Identificar los discos externos conectados mediante programación

Quiero escribir un script de shell que expulsa a todas las unidades externas conectadas (ya sea USB o Firewire unidades). Puedo usar el disktuil eject <disk-path> a expulsar una unidad especificada. Pero todavía no puedo entender cómo averiguar cuáles son las unidades externas. Por ejemplo, /Volumes muestra de unidades internas, unidades externas, y las imágenes montadas. Es allí una manera de identificar sólo las unidades externas mediante programación?

4voto

CodeClimber Puntos 1560

Ha considerado el uso de diskutil info /dev/disk[n|s{n}] | grep Ejectable que permite identificar si el dispositivo (o dispositivos rebanada) es ejectable.

Esto tendría que ser ampliado en un script utilizando awk a trabajar a través de cada dispositivo de disco que actualmente está conectado a determinar si puede ser expulsado y luego expulsarlo.

1voto

Bob Puntos 374

En una ventana de terminal (shell bash)

diskutil info /Volúmenes/nombre-de-volumen

devuelve una lista de propiedades del volumen, incluyendo

Protocolo: FireWire ... Ejectable: Sí Todo: No Interna: No

así que, supongo que podría empezar con eso. No estoy claro en lo que la "Interna" de la propiedad implica, podría ser mejor para mirar "Protocolo" si su preocupación es con Firewire o USB dispositivos externos.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X