.bash_profile で定義されたエイリアスを使用して、コマンド ラインから OS X アプリケーションを閉じるにはどうすればよいですか?

.bash_profile で定義されたエイリアスを使用して、コマンド ラインから OS X アプリケーションを閉じるにはどうすればよいですか?

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同じようにするべきである

関連情報