我发现下面的 shell 脚本可以用来让 OS X 应用程序退出:
#!/bin/sh
echo | osascript <<EOF
tell application "$*"
quit
end tell
EOF
我的 .bash_profile 中有几个简单的别名命令,我想在那里添加一个“退出”命令,而不是使用此脚本。我创建了以下内容,但它不起作用:
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
应该做同样的事情