Как закрыть приложение OS X из командной строки, используя псевдоним, определенный в моем .bash_profile?

Как закрыть приложение OS X из командной строки, используя псевдоним, определенный в моем .bash_profile?

Я нашел следующий скрипт оболочки, который можно использовать для завершения работы приложения 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следует сделать то же самое

Связанный контент