Abra a nova guia do terminal e execute o script

5

Eu preciso mesclar dois scripts de oschat, para que, com um comando, eu possa abrir uma nova guia de terminal e executar um script como echo hello nessa nova guia.

Este abre uma nova guia de terminal.

osascript -e 'tell application "Terminal" to activate' -e 'tell application "System Events" to tell process "Terminal" to keystroke "t" using command down'

Este abre uma nova janela e executa echo hello

osascript -e 'tell app "Terminal" do script "echo hello" end tell'
    
por ThomasReggi 26.08.2012 / 19:49

5 respostas

1

A maneira mais fácil é usar "ttab"

link

Apenas execute ttab 'ls -la' here ls -la é o comando que desejo executar em uma nova guia.

Nota: ttab precisa da instalação do NPM

    
por 05.08.2017 / 14:30
7

Não conheço uma maneira melhor de criar uma nova guia, mas você pode executar um comando na guia ou janela mais à frente com do script "" in window 1 .

tell application "Terminal"
    activate
    tell application "System Events" to keystroke "t" using command down
    repeat while contents of selected tab of window 1 starts with linefeed
        delay 0.01
    end repeat
    do script "echo a" in window 1
end tell
    
por 26.08.2012 / 21:14
1

Aqui está um trecho que usamos. Eu sugeriria:

  • Coloque isso em uma função, como uma chamada "tab"
  • para o comando use uma variável que você passa para a função

    osascript 
        -e "tell application \"Terminal\" to activate" \
            -e "tell application \"System Events\" to keystroke \"t\" using {command down}" \
            -e "do script \"echo hello\" in front window" \
        -e "end tell"
        > /dev/null
    
por 28.08.2015 / 17:58
0

Tente

osascript -e 'tell application "Terminal" to activate' -e 'tell application "System Events" to tell process "Terminal" to keystroke "t" using command down' -e 'tell application "Terminal" to do script "echo hello" in tab 2 of window 1'
    
por 26.08.2012 / 21:38
0

Semelhante à resposta do adayzdone , mas ligeiramente diferente:

osascript -e 'tell application "Terminal" to activate' \
  -e 'tell application "System Events" to keystroke "t" using {command down}' \
  -e 'tell application "Terminal" to do script "echo hello" in front window'
    
por 09.04.2018 / 12:44