AppleScript에서 특정 터미널 창을 대상으로 지정하고 닫는 방법은 무엇입니까?

니콜라스 아다 무

배경

아래 terminal스크립트가 주어지면 AppleScript에서 열린 특정 창대상으로 지정osascript 하는 대신 front windowI를 대상으로 지정 하도록 수정하고 싶습니다 .

terminal:

#!/bin/bash

# Usage:
#     terminal [CMD]             Open a new terminal window and execute CMD
#
# Example:
#     terminal cd "sleep 100"

terminal() {

    # Mac OS only
    [ "$(uname -s)" != "Darwin" ] && {
        echo 'Mac OS Only'
        return
    }

    local cmd=""
    local args="$*"

    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    if [ -n "$args" ]; then
        cmd="$args"
    fi

    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    osascript <<EOF
tell application "Terminal" to tell the front window
    set w to do script "$cmd"
    repeat
        delay 1
        if not busy of w then exit repeat
    end repeat
    close it
end tell
EOF

}

terminal "$@"

발행물

현재,를 사용하기 때문에 front window창이 다른 터미널 창으로 팝업 된 후 포커스를 변경할 수 있습니다. 그러면 do script작업이 완료되면 close it실제로 do script.

아이디어

내가 염두에 둔 한 가지 아이디어는 AppleScript를 수정 window id하여 아래와 같이 AppleScript에서 생성 된 창을 가져 오는 것 입니다. 그러나 close W작동하지 않습니다.

tell application "Terminal"
    set W to do script ""
    activate
    set S to do script "sleep 5" in W
    repeat
        delay 1
        if not busy of S then exit repeat
    end repeat
    close W
end tell
lx07

이 stackexchange 답변기반으로 창 개체를 저장 한 다음 반복 할 수 있습니다.

그런 다음 포커스 여부에 관계없이 연 창을 닫을 수 있습니다.

    osascript <<EOF
    tell application "Terminal"
        set newTab to do script
        set current settings of newTab to settings set "Grass"
        set theWindow to first window of (every window whose tabs contains newTab)

        do script "$cmd" in newTab
        repeat
            delay 0.05
            if not busy of newTab then exit repeat
        end repeat

        repeat with i from 1 to the count of theWindow's tabs
            if item i of theWindow's tabs is newTab then close theWindow
        end repeat
    end tell
EOF

set current settings of newTab to settings set "Grass"라인이 필요하지 않습니다 - 그것은 다른 색으로 관련 창을 표시하는 전용입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

터미널에서 지정된 창을 닫고, 최소화하고, 최대화하는 방법은 무엇입니까?

분류에서Dev

터미널에서 지정된 창을 닫고, 최소화하고, 최대화하는 방법은 무엇입니까?

분류에서Dev

터미널에서 특정 파일을 여는 방법은 무엇입니까?

분류에서Dev

터미널에서 실행되는 특정 명령을 시간별로 보는 방법은 무엇입니까?

분류에서Dev

백그라운드에서 명령을 설정하고 터미널을 닫고 fg로 되 돌리는 방법은 무엇입니까?

분류에서Dev

터미널 창이 닫힐 때 tmux 창을 자동으로 종료하는 방법은 무엇입니까?

분류에서Dev

터미널에서 각각의 새 명령에 색상을 지정하는 방법은 무엇입니까?

분류에서Dev

그놈 터미널에서 열린 탭 사이를 전환하고 단축키를 사용하여 특정 탭을 닫는 방법은 무엇입니까?

분류에서Dev

그놈 터미널에서 열린 탭 사이를 전환하고 단축키를 사용하여 특정 탭을 닫는 방법은 무엇입니까?

분류에서Dev

.exe 확장자를 명시 적으로 지정하지 않고 터미널에서 Windows 실행 파일을 실행하는 방법은 무엇입니까?

분류에서Dev

이미 실행 된 특정 명령으로 터미널을 여는 방법은 무엇입니까? Unity Launcher에서 최고!

분류에서Dev

이미 열린 특정 터미널에서 쉘 명령을 시작하는 방법은 무엇입니까?

분류에서Dev

박쥐로 특정 Java 창을 닫는 방법은 무엇입니까?

분류에서Dev

여러 그놈 터미널 창을 자동으로 트리거하고 열어서 활성 상태로 유지하는 방법은 무엇입니까?

분류에서Dev

정렬을 변경하지 않고 Linux 명령을 사용하여 터미널에서 새 파일로 출력을 쓰는 방법은 무엇입니까?

분류에서Dev

터미널의 특정 페이지에서 PDF 파일을 여는 방법은 무엇입니까?

분류에서Dev

터미널을 닫은 후에도 reactjs에 대해 npm start를 실행하는 방법은 무엇입니까?

분류에서Dev

SSH 터미널에서 창을 전환하는 방법은 무엇입니까?

분류에서Dev

키 입력으로 정확한 터미널 색상을 전환하는 방법은 무엇입니까?

분류에서Dev

터미널에서 GUI 프로그램을 시작하고 일단 시작되면 터미널을 닫는 방법은 무엇입니까?

분류에서Dev

OSX 터미널에서 프로그래밍 방식으로 제목 텍스트 색상을 설정하는 방법은 무엇입니까?

분류에서Dev

특정 가상 터미널의 키보드 레이아웃을 변경하는 방법은 무엇입니까?

분류에서Dev

명령 줄에 이미 입력 된 특정 텍스트로 터미널을 시작하는 방법은 무엇입니까?

분류에서Dev

명령 줄에 이미 입력 된 특정 텍스트로 터미널을 시작하는 방법은 무엇입니까?

분류에서Dev

HTML에서 메시지를 표시하고 설정 창을 닫는 방법은 무엇입니까?

분류에서Dev

R에서 특정 값을 특정 색상으로 설정하는 방법은 무엇입니까?

분류에서Dev

SystemEvents를 사용하지 않고 bash 및 AppleScript를 사용하여 터미널 창을 닫는 방법은 무엇입니까?

분류에서Dev

특정 시간이 지나면 키비 창을 자동으로 닫는 방법은 무엇입니까?

분류에서Dev

터미널 창을 닫고 새 창을 시작하는 대신 다시 초기화하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    터미널에서 지정된 창을 닫고, 최소화하고, 최대화하는 방법은 무엇입니까?

  2. 2

    터미널에서 지정된 창을 닫고, 최소화하고, 최대화하는 방법은 무엇입니까?

  3. 3

    터미널에서 특정 파일을 여는 방법은 무엇입니까?

  4. 4

    터미널에서 실행되는 특정 명령을 시간별로 보는 방법은 무엇입니까?

  5. 5

    백그라운드에서 명령을 설정하고 터미널을 닫고 fg로 되 돌리는 방법은 무엇입니까?

  6. 6

    터미널 창이 닫힐 때 tmux 창을 자동으로 종료하는 방법은 무엇입니까?

  7. 7

    터미널에서 각각의 새 명령에 색상을 지정하는 방법은 무엇입니까?

  8. 8

    그놈 터미널에서 열린 탭 사이를 전환하고 단축키를 사용하여 특정 탭을 닫는 방법은 무엇입니까?

  9. 9

    그놈 터미널에서 열린 탭 사이를 전환하고 단축키를 사용하여 특정 탭을 닫는 방법은 무엇입니까?

  10. 10

    .exe 확장자를 명시 적으로 지정하지 않고 터미널에서 Windows 실행 파일을 실행하는 방법은 무엇입니까?

  11. 11

    이미 실행 된 특정 명령으로 터미널을 여는 방법은 무엇입니까? Unity Launcher에서 최고!

  12. 12

    이미 열린 특정 터미널에서 쉘 명령을 시작하는 방법은 무엇입니까?

  13. 13

    박쥐로 특정 Java 창을 닫는 방법은 무엇입니까?

  14. 14

    여러 그놈 터미널 창을 자동으로 트리거하고 열어서 활성 상태로 유지하는 방법은 무엇입니까?

  15. 15

    정렬을 변경하지 않고 Linux 명령을 사용하여 터미널에서 새 파일로 출력을 쓰는 방법은 무엇입니까?

  16. 16

    터미널의 특정 페이지에서 PDF 파일을 여는 방법은 무엇입니까?

  17. 17

    터미널을 닫은 후에도 reactjs에 대해 npm start를 실행하는 방법은 무엇입니까?

  18. 18

    SSH 터미널에서 창을 전환하는 방법은 무엇입니까?

  19. 19

    키 입력으로 정확한 터미널 색상을 전환하는 방법은 무엇입니까?

  20. 20

    터미널에서 GUI 프로그램을 시작하고 일단 시작되면 터미널을 닫는 방법은 무엇입니까?

  21. 21

    OSX 터미널에서 프로그래밍 방식으로 제목 텍스트 색상을 설정하는 방법은 무엇입니까?

  22. 22

    특정 가상 터미널의 키보드 레이아웃을 변경하는 방법은 무엇입니까?

  23. 23

    명령 줄에 이미 입력 된 특정 텍스트로 터미널을 시작하는 방법은 무엇입니까?

  24. 24

    명령 줄에 이미 입력 된 특정 텍스트로 터미널을 시작하는 방법은 무엇입니까?

  25. 25

    HTML에서 메시지를 표시하고 설정 창을 닫는 방법은 무엇입니까?

  26. 26

    R에서 특정 값을 특정 색상으로 설정하는 방법은 무엇입니까?

  27. 27

    SystemEvents를 사용하지 않고 bash 및 AppleScript를 사용하여 터미널 창을 닫는 방법은 무엇입니까?

  28. 28

    특정 시간이 지나면 키비 창을 자동으로 닫는 방법은 무엇입니까?

  29. 29

    터미널 창을 닫고 새 창을 시작하는 대신 다시 초기화하는 방법은 무엇입니까?

뜨겁다태그

보관