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