Как я могу сказать (в скрипте), сколько терминалов открыто в Mac OS X? - PullRequest
4 голосов
/ 30 мая 2011

как узнать, сколько окон терминала (в mac os x) открыто в данный момент?это нужно сделать из сценария оболочки.

спасибо,

Ответы [ 2 ]

7 голосов
/ 30 мая 2011

Этот скрипт выполняет то, что вы просите, вы используете osascript, чтобы запустить его из строки cmd.

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

Редактирование Bavarious: Чтобы использовать AppleScript Адама в сценарии оболочки, вы можете сделать следующее:

#!/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}")
2 голосов
/ 31 мая 2011
cnt=$(w -h | grep "^$(whoami) *s[^ ]* *-"|wc -l)
echo Your current terminal sessions: $cnt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...