Shell-Script in Apple-Script konvertieren.

Macy51

Aktives Mitglied
Thread Starter
Dabei seit
01.06.2016
Beiträge
124
Reaktionspunkte
14
Hi,
vor langer Zeit habe ich mal folgendes Apple-Script entworfen:
Code:
set command to "ping -c 1 DiskStation"
set checkVar to false
repeat until checkVar is true
    try
        if ((do shell script command) contains " packets received, 0.0% packet loss") then
            mount volume "smb://NAS/share1" as user name "mein_Benutzername"
            mount volume "smb://NAS/share2" as user name "mein_Benutzername"
            set checkVar to true
        end if
    on error
        display dialog "Es konnte keine Verbindung aufgebaut werden." buttons {"Nochmal", "OK"} with icon stop giving up after 5
        if button returned of result is "OK" then
            set checkVar to true
        else if button returned of result is "Nochmal" then
            set checkVar to false
        else
            set checkVar to false
        end if
    end try
end repeat
Mit dem Script werden auf meiner NAS die beiden Shares share1 und share2 unter meinem Benutzernamen gemounted, sofern die NAS erreichbar ist, was mit dem Ping-Kommando geprüft wird.

Da, wie ich gehört habe, Apple-Scripts nicht mehr lange unterstützt werden, würde ich das Script gerne als zsh-Shell-Script umschreiben. Da ich aber keinerlei Erfahrung im Shell-Scripting habe, würde ich mich freuen, wenn mir Jemand dabei helfen könnte. Insbesondere der Mount-Befehl macht mir Kopfzerbrechen.

Vielen Dank im Voraus
 
Da, wie ich gehört habe, Apple-Scripts nicht mehr lange unterstützt werden,
Das ist ja nix, was direkt vor der Tür steht. Davon abgesehen ist mir das gänzlich neu. Du hast noch jede Menge Zeit dir Shell-Scripting beizubringen.
 
  • Gefällt mir
Reaktionen: Bozol
Da, wie ich gehört habe, Apple-Scripts nicht mehr lange unterstützt werden

@noodyn: Ich meine das im Zusammenhang mit der Ankündigung von Big Sur in einem Podcast gelesen zu haben. Egal, auch wenn Du Recht hast, ein bisschen Hilfe könnte ja nicht schaden 😉.
 
Die automatische Generierung des Mountpoint in /Volume (mit dem Volume-Namen) geht in Shell-Scripts eben nicht von alleine. Das musst du dir selbst zusammen stricken. Der mount-Befehl selbst ist dann recht einfach -> siehe "man mount_smbfs", also z.B.

Code:
mount -t smbfs //mein_Benutzername:password@NAS/share1/ /Volumes/mountpoint

Aber ganz abgesehen davon, machst du dir mit dem script das Leben schon schwer. Für was brauchst du das eigentlich? Aktivere doch Bonjour auf dem NAS für die shares und schon erscheint dein NAS im Finder in der Seitenleiste unter Orte: ein Klick auf das NAS, dann erscheinen die shares, ein Doppelklick auf das share und es ist gemountet. Im Vergleich zu deiner, vermeintlich komfortablen, selbstgebastelten "Automatisierung" ist das deutlich einfacher und maximal einen Klick aufwendiger. Und wenn du das Script erst selbst mal irgendwie starten musst, bringst dir nichts. Aber ich weiß.... du willst es halt so. Dann musst du eben auch Shell-scripting lernen und dir einen Weg ausdenken, wie du den mountpoint systemstimmig generierst.
 
  • Gefällt mir
Reaktionen: dg2rbf
@lisanet: Der Tipp mit Bonjour ist schon mal nicht schlecht, bin ich selber nicht drauf gekommen 🤭. Trotzdem will ich es mal mit einem kleinen Script versuchen und da hilft Dein Beitrag schon, vielen Dank.
 
Sollte der Threadtitel nicht genau andersrum lauten?
 
  • Gefällt mir
Reaktionen: Macschrauber
Zurück
Oben Unten