
Я нашел следующий скрипт оболочки, который можно использовать для завершения работы приложения OS X:
#!/bin/sh
echo | osascript <<EOF
tell application "$*"
quit
end tell
EOF
У меня есть несколько простых команд псевдонимов в моем .bash_profile, и я хотел бы добавить туда команду "quit" вместо использования этого скрипта. Я создал следующее, но оно не работает:
alias quit='osascript -e "quit application \"$1\""'
Я уверен, что я накосячил с командой. Есть какие-нибудь советы?
решение1
Вместо этого используйте функцию:
function quit {
osascript <<EOF
tell application "$*" to quit
EOF
}
решение2
Псевдонимы не могут иметь параметров. Псевдонимы выполняют строгую текстовую замену, где «параметры» как бы оказываются в конце.
Я бы создал функцию, которая может иметь параметры.
function quit
{
if [ $# -ne 0 ]; then
echo "usage: quit _appname_" >&2
return
fi
echo | osascript <<EOF
tell application "$1"
quit
end tell
EOF
}
Извините, но я не могу это протестировать и проверить сегодня (нет Mac), но эта идея могла бы работать как функция.
решение3
это обязательно должен быть псевдоним?
pkill Application
например, pkill Safari
следует сделать то же самое