Search code examples
macosterminal

How can I tell (in script) how many Terminals are open in mac os x?


how can I tell how many Terminal windows (in mac os x) are currently opened? this needs to be done from a shell script.

thanks,


Solution

  • This script does what you ask for, you use osascript to run it from the cmd line.

    tell application "Terminal"
        set c to 0
        repeat with i from 1 to (count of windows)
            set c to c + (count of tabs in window i)
        end repeat
        c
    end tell
    

    Edit by Bavarious: In order to use Adam’s AppleScript inside a shell script, you can do the following:

    #!/bin/bash
    read -d '' OSASCRIPT << EOF
        tell application "Terminal"
            set c to 0
            repeat with i from 1 to (count of windows)
                set c to c + (count of tabs in window i)
            end repeat
            c
    end tell
    EOF
    
    nwindows=$(osascript -e "${OSASCRIPT}")