¿Cómo cierro una aplicación OS X desde la línea de comando usando un alias definido en mi .bash_profile?

¿Cómo cierro una aplicación OS X desde la línea de comando usando un alias definido en mi .bash_profile?

Encontré el siguiente script de shell que se puede usar para indicarle a una aplicación OS X que se cierre:

#!/bin/sh

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

Tengo varios comandos de alias simples en mi .bash_profile y me gustaría agregar un comando "salir" allí en lugar de usar este script. Creé lo siguiente, pero no funciona:

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

Estoy seguro de que he fallado el comando. ¿Algún consejo?

Respuesta1

Utilice una función en su lugar:

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

Respuesta2

Los alias no pueden tener parámetros. Los alias realizan una estricta sustitución de texto, donde los 'parámetros' terminarían al final.

Haría una función que puede tener 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
}

Lo siento, pero no puedo probar esto y verificarlo hoy (no Mac), pero la idea funcionaría como una función.

Respuesta3

¿Tiene que ser un alias?

pkill Application

como, por ejemplo, pkill Safaridebería hacer lo mismo

información relacionada