Znalazłem sposób na otwarcie nowej karty w iTerm
:
newtabi()
{
osascript -e 'tell application "iTerm" to activate' -e 'tell application "System Events" to tell process "iTerm" to keystroke "t" using command down'
}
I chcę wykonać niektóre polecenia w nowej karcie. Niech będzie to proste polecenie pwd
. Jak to zrobić?
Jeśli uruchomię ...
newtabi && pwd
Nowa karta jest otwierana zgodnie z oczekiwaniami, ale pwd
polecenie jest wykonywane nie w nowej karcie, ale w starej, gdzie wpisałemnewtabi && pwd
Używam zsh
. Mój system operacyjny toOS X 10.8.5
iTerms
, otwiera nową kartę w prawidłowejiTerm
instancji, ale zapisujepwd
w ostatniej karcie pierwszej instancji iTermterminal 1
nacurrent terminal
. Teraz powinno uruchomić polecenie w bieżącym oknie zamiast w oknie, które zostało otwarte jako pierwsze.execution error: System Events got an error: osascript is not allowed to send keystrokes. (1002)
źródło
148:156: syntax error: Expected end of line but found identifier. (-2741)
w to.Przynajmniej makos Mojave, iTerm 3.2.8, jeśli uruchomisz:
Doda to jako zakładkę do bieżącego okna.
źródło
Nie mogłem uzyskać przyjętej odpowiedzi do pracy. Chciałem również przekazać wiele poleceń. Właśnie to wymyśliłem.
Przykładowe użycie
W przypadku bardziej skomplikowanych działań polecam rozbicie poleceń.
Następnie,
newtabi project
źródło
pwd
aby polecenie wyglądało następująco: `newtabi '$ PWD / foo && run run start?