
Ich habe das folgende Shell-Skript gefunden, mit dem man einer OS X-Anwendung das Beenden mitteilen kann:
#!/bin/sh
echo | osascript <<EOF
tell application "$*"
quit
end tell
EOF
Ich habe mehrere einfache Alias-Befehle in meinem .bash_profile und möchte dort einen „quit“-Befehl hinzufügen, anstatt dieses Skript zu verwenden. Ich habe Folgendes erstellt, aber es funktioniert nicht:
alias quit='osascript -e "quit application \"$1\""'
Ich bin sicher, dass ich den Befehl verpfuscht habe. Irgendwelche Ratschläge?
Antwort1
Verwenden Sie stattdessen eine Funktion:
function quit {
osascript <<EOF
tell application "$*" to quit
EOF
}
Antwort2
Aliase können keine Parameter haben. Aliase führen eine strikte Textersetzung durch, bei der „Parameter“ quasi am Ende landen würde.
Ich würde eine Funktion erstellen, die Parameter haben kann.
function quit
{
if [ $# -ne 0 ]; then
echo "usage: quit _appname_" >&2
return
fi
echo | osascript <<EOF
tell application "$1"
quit
end tell
EOF
}
Leider kann ich das heute nicht testen und verifizieren (kein Mac), aber als Funktion würde die Idee funktionieren.
Antwort3
muss es ein Alias sein?
pkill Application
wie zum Beispiel pkill Safari
sollte das gleiche tun