Jedes mal einen Syntaxfehler ?

Tobich

Tobich

Aktives Mitglied
Thread Starter
Dabei seit
01.01.2010
Beiträge
2.994
Reaktionspunkte
163
Hallo zusammen

Ich mühe mich gerade wieder mit einem Script rum den irgend wie will es nicht oder ich Kapiere nicht was es will :eek:

Ziel auswerfen einer Partition. Der Partition CCC
Bildschirmfoto 2017-10-15 um 12.05.43.png

Den Befehl habe ich:
Code:
diskutil unmount force/Volumes/CCC
Jedoch weis ich nicht noch ich dieses Symbole "" Setzten muss egal wie ich es mache ich bekomme immer diese Meldung:
Bildschirmfoto 2017-10-15 um 12.02.32.png

Im terminal geht der Befehl:confused:

Ziel ist es das CCC mit diesem script die Partition nach dem Backup auswirft, da es immer zu Probleme kommt da die Programme von der falschen Disk geöffnet werden..

Besten Dank für eure Hilfe
 
du kannst keinen terminal befehl nur so alleine als applescript nehmen.
das musst du schon mit
Code:
do shell script "diskutil unmount force /Volumes/CCC"
machen …
 
  • Gefällt mir
Reaktionen: Tobich
Hallo,

Code:
do shell script "diskutil unmount " & quoted form of "/Volumes/CCC"

Wenn Du aber betreffende Partition gar nicht benötigst, dann schließe sie doch einfach aus, so dass sie gar nicht erst eingehängt wird.
Siehe dazu /etc/fstab.

Viele Grüße
 
kommt das
do shell script eigentlich vor jeden Terminal Befehl ?
@little_pixel doch jeden Abend brauch ich die für das Backup als zweite boot partition für den Notfall.. Als apple wieder einmal Mist baut bei einem Update :eek:
Jedoch soll sie nach dem Backup ausgeworfen werden..
CCC mounter sie so jedoch ohne Problem vor dem backup

was bewirkt der Zusatz
Code:
& quoted form of
im Befehl an stelle von
force ?
 
Das ist der Befehl selbst. Vorher ist es nur Text.

Viele Grüße
 
Jedoch soll sie nach dem Backup ausgeworfen werden..
Im Plan bei CCC gibt es das Auswerfen nach dem Backup. Warum verwendest Du nicht das?
Funktioniert bei mir problemlos.

Ich würde die Backup-Partition noch im Spotlight ausschließen.
Dann hast Du auch keine nicht nachvollziehbaren Meldungen, dass das Laufwerk noch in Verwendung sei, auch wenn augenscheinlich nichts läuft.

Viele Grüße
 
Warum, ne? Erklärung?

Viele Grüße
 
weil es sich an sich kein zeichen enthält die gequotet werden müssten, aber es ist ja best practice pfade immer in der quoted form zu machen …

was bewirkt der Zusatz
Code:
& quoted form of
im Befehl an stelle von
force ?

das bereinigt einen pfad bei sonderzeichen, damit der korrekt an die shell übergeben wird …

es ist auch nicht der ersatz für force …
 
Nee... da gibt's nix zu quoten.
Aha, nachträglich editiert…

Natürlich. Alles andere sollte man sich im Skriptbereich gar nicht angwöhnen.
Oder weißt Du wie sein Laufwerksname richtig heißt?

Viele Grüße
 
Hey, ihr editiert die Beiträge alle permanent nach dem Lesen.
Der @Tobich sicherlich jetzt das dritte Mal :D

Viele Grüße
 
Steht doch da. Er gibt den Pfad als absolut ein, nicht als Variable. Sonst wäre natürlich auch möglich:
Code:
do shell script "diskutil unmount force '/Volumes/CCC'"

Aber Deine Variante ist nicht falsch. Ich gehe einfach den Weg des geringsten Cods.
 
ja, ließ sich nicht vermeiden, weil ich den anderen edit erst nach meinem post gesehen habe.
 
  • Gefällt mir
Reaktionen: Tobich
@little_pixel
Sorry wen ihr so schell antwortet werde es in Zukunft lassen :rolleyes:

Ich habe jetzt festgestellt das ccc nur ein Shell script beherrscht und kein apple script
jedoch geht dies wie angenommen nicht:
macmini-server:~ user$ /Applications/Scripte/CCC.sh

/Applications/Scripte/CCC.sh: line 2: syntax error near unexpected token `do'

/Applications/Scripte/CCC.sh: line 2: `do shell script "diskutil unmount force /Volumes/CCC"'

macmini-server:~ user$


Dies geht da leider nicht..
Code:
#!/bin/sh
do shell script "diskutil unmount force /Volumes/CCC"

Wie sieht das auswerfen unter einem SH script aus :confused:
 
Dies geht da leider nicht..
Code:
#!/bin/sh
do shell script "diskutil unmount force /Volumes/CCC"

Wie sieht das auswerfen unter einem SH script aus :confused:

do shell script ist nun mal ein applescript befehl.
bei einem bash script brauchst du nur den diskutil teil …
 
Steht doch da. Er gibt den Pfad als absolut ein, nicht als Variable. Sonst wäre natürlich auch möglich:
Ich verstehe aber Dein "ne" Einwand leider überhaupt nicht.
Ganz im Gegenteil, es impliziert eher "falsch", dabei ist meine Antwort, die zeitlich mit @oneOeight kam noch mit dieser Info erweitert.
Gerade weil er @Tobich offensichtlich keine Kenntnisse dazu hat ist es doch schön, wenn er den "Idealweg" ließt.
Somit, wenn er mal wieder in den Bedarf kommt, hat er schon was gelernt.

Und Pfade im Zusammenhang mit AppleSkript in Hochkomma auszuschreiben halte ich für "falsch"… :p

Viele Grüße
 
@Tobich

Im Plan bei CCC gibt es das Auswerfen nach dem Backup. Warum verwendest Du nicht das?
Funktioniert bei mir problemlos.

Ich würde die Backup-Partition noch im Spotlight ausschließen.
Dann hast Du auch keine nicht nachvollziehbaren Meldungen, dass das Laufwerk noch in Verwendung sei, auch wenn augenscheinlich nichts läuft.

Viele Grüße
 
@little_pixel Ich habe eine stein alte version :hamma::hamma::hamma: darum habe ich diese Funktion nicht.. aktuell ist 5.XX oder 4.1.19 Ach ja spotlight habe ich gezähmt..

@oneOeight
@Atalantia
Besten dank für eure Hilfe:D
gibt es eine schlaue Seite wo ich den Umgang mit applescript oder SH script erlernen kann so für basic Sachen ?
 
Doch, Du schaust an der falschen Stelle.
Schau mal unter „nach dem Backup“ in dem Popup-Menü.
Dort findest Du die Aktion zum Auswerfen.

Somit benötigst Du gar kein Skript mehr… :)

Viele Grüße
 
Zurück
Oben Unten