Como fecho um aplicativo OS X na linha de comando usando um alias definido em meu .bash_profile?

Como fecho um aplicativo OS X na linha de comando usando um alias definido em meu .bash_profile?

Encontrei o seguinte script de shell que pode ser usado para instruir um aplicativo OS X a encerrar:

#!/bin/sh

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

Tenho vários comandos de alias simples em meu .bash_profile e gostaria de adicionar um comando "quit" em vez de usar este script. Criei o seguinte, mas não funciona:

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

Tenho certeza de que alterei o comando. Algum conselho?

Responder1

Em vez disso, use uma função:

function quit {
osascript <<EOF
  tell application "$*" to quit
EOF
}

Responder2

Aliases não podem ter parâmetros. Os aliases fazem uma substituição estrita de texto, onde os 'parâmetros' acabariam no final.

Eu faria uma função, que pode ter parâmetros.

function quit
{
    if [ $# -ne 0 ]; then
        echo "usage: quit _appname_" >&2
        return
    fi
echo | osascript <<EOF
tell application "$1"
  quit
end tell
EOF
}

Desculpe, mas não posso testar e verificar hoje (sem Mac), mas a ideia funcionaria como uma função.

Responder3

tem que ser um alias?

pkill Application

tipo, por exemplo pkill Safarideveria fazer o mesmo

informação relacionada