Hängen Sie das iscsi-Volume vom bash-Skript ab

537
johne

Planen: Ich möchte ein iscsi-Volume auf meinem OS X Desktop in einem Skript nur dann aushängen, wenn es angehängt ist. Bisher habe ich die Platte als identifiziert disk4s2mit:

diskutil list | grep 'V-Movies' | rev | cut -c1-7 | rev... 

Fortsetzung der Zeile, um die Bereitstellung aufzuheben:

diskutil list | grep 'V-Movies' | rev | cut -c1-7 | rev | diskutil unmount [disk4s2] 

aber wie beziehe ich mich auf die Scheibe in eckigen Brakets? Mir ist klar, dass dies nicht die effizienteste Lösung ist. Jede Hilfe wäre dankbar.

1

1 Antwort auf die Frage

0
Alastair McCormack

xargs ist der Befehl, den Sie brauchen. Es benötigt stdin und konvertiert es in Argumente, die an einen Befehl übergeben werden.

Angenommen, diskutil list | grep 'V-Movies' | rev | cut -c1-7 | revSie erhalten den Namen der Festplatte:

diskutil list | grep 'V-Movies' | rev | cut -c1-7 | rev | xargs diskutil unmount

Das OP sagte: "Nur wenn es gemountet ist." Wenn die Platte beim Ausführen des Skripts nicht gemountet werden kann, sollten Sie "-r" (oder "--no-run-if-empty") angeben "xargs", um zu sagen, dass "diskutil unmount" nicht ohne Argumente aufgerufen werden soll, wenn keine Daten vorhanden sind. Scott vor 11 Jahren 0
Guten Anruf @Scott :) Alastair McCormack vor 11 Jahren 0