.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같은 작업을 수행해야 합니다.

관련 정보