Wie verwende ich AppleScript in einem Bash-Skript, um einen Alias ​​für eine App zu erstellen?

Ich muss auf meinem Desktop mithilfe einer Bash-Skriptdatei einen Alias ​​für eine App in meinem Anwendungsordner erstellen.

Soweit ich weiß, geht das nur mit AppleScript. Leider sind meine AppleScript-Kenntnisse nicht vorhanden. Ich konnte kein gutes Arbeitsbeispiel zum Erstellen eines Alias ​​auf meinem Desktop finden.

1) Wie erstelle ich mit AppleScript einen Alias ​​auf meinem Desktop?

2) Wie füge ich dieses AppleScript in meine Bash-Skriptdatei ein, damit es im Terminal funktioniert?

Hat Apple nicht eine neue Version dieses AppleScript-Editors veröffentlicht, der Ihre Aktionen beobachtet und AppleScripts für Sie erstellt? Selbst wenn Sie sie danach anpassen mussten, war so etwas hilfreich für mich, als ich AppleScript in der Ära von OS 7 zum ersten Mal lernte.

Antworten (3)

osascriptführt AppleScript-Code in Ihrer Shell aus. Dieses Beispiel verwendet ein HEREDOC, um den Code für osascript.

/usr/bin/osascript <<'EOF'
tell application "Finder"
    set myapp to POSIX file "/Applications/Chess.app" as alias
    make new alias to myapp at Desktop
    set name of result to "Chess.app"
end tell
EOF

Quelle- Link

Warum nicht das Applescript überspringen und einfach einen symbolischen Link in Bash erstellen? Es verhält sich genau wie ein Alias ​​auf dem Desktop, außer dass Sie jetzt in Bash damit arbeiten können. In dieser Antwort finden Sie eine Aufschlüsselung der Aliase, Hardlinks und Sym-Links.

Ihr Befehl wäre also:

ln -s /path/to/application/MyApp.app /Users/username/Desktop/MyApp

Wobei MyApp.app und username der Name der Anwendung bzw. des Benutzers ist.

weil symbolische Links die verknüpfte Datei nicht verfolgen, wenn sie sich bewegt?
weil symbolische Links in /Applications nicht im Spotlight (⌘-Leerzeichen) erscheinen, aber Aliase schon
osascript -e 'tell application "Finder" to set name of (make alias file to (POSIX file "/Applications/Google Chrome.app" as alias) at POSIX file "/Users/<YOUR USERNAME>/Desktop") to "desired alias file name"'
Boris, ich wollte auch einen Einzeiler! Ihr hat bei mir nicht funktioniert, aber das Folgende (inspiriert von Ihrem) ist (ich bin in macOs Mojave): HINWEIS: Sie müssen <YourUsername> und 'gewünschter Alias-Dateiname' entsprechend Ihrem Anwendungsfall ersetzen: osascript -e 'Teilen Sie der Anwendung "Finder" mit, den Namen von (erstellen Sie die Alias-Datei in (POSIX-Datei "/Applications/Google Chrome.app" als Alias) in der POSIX-Datei "/Users/<IhrBenutzername>/Desktop") auf "gewünscht Alias-Dateiname"'