5

Я нашел следующий сценарий оболочки, который можно использовать, чтобы заставить приложение OS X выйти:

#!/bin/sh

echo | osascript <<EOF
tell application "$*"
  quit
end tell
EOF

У меня есть несколько простых команд псевдонимов в моем файле .bash_profile, и я хотел бы добавить команду "quit" вместо использования этого скрипта. Я создал следующее, но это не работает:

alias quit='osascript -e "quit application \"$1\""' 

Я уверен, что я напал на команду. Любой совет?

3 ответа3

7

Вместо этого используйте функцию:

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), но идея будет работать как функция.

0

это должен быть псевдоним?

pkill Application

как например pkill Safari должен сделать то же самое

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .