
我發現以下 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
應該做同樣的事情