Co ja robię
Korzystam z iTerm2 Build 3.0.15 i piszę skrypt, który otwiera nowe okno i wyświetla na ekranie „witaj świecie”. Naprawdę, jestem zainteresowany uruchomieniem dowolnego polecenia, ale echo "hello world"
jako punktem wyjścia.
Co próbowałem
Przeczytałem o dokumentacji iTerm2 dotyczącej skryptów. Chciałem dowiedzieć się więcej, więc przeciągnąłem iTerm2
ikonę na Script Editor
ikonę, aby wyświetlić dostępny słownik i znalazłem następujące polecenie:
Z lektury słownika i dokumentacji napisałem następujący skrypt:
tell application "iTerm"
create window with default profile command "echo hello world"
end tell
Kiedy uruchamiam skrypt z terminala, otworzyło się nowe okno i na ekranie pojawiło się „witaj świecie”; dostałem jednak następujący błąd zepsutej rury:
Kiedy wybieram Ok
okno zamknięte i zostaje mi następujący komunikat:
$ osascript iterm.applescript
window id 6415
Pytania
- Co oznaczają te zepsute rury i błędy id 6415 okna?
- Jak napisać skrypt otwierający okno iTerm2 i uruchamiający polecenie?
terminal
applescript
script
iterm
Mbigras
źródło
źródło
Odpowiedzi:
Spróbuj tego:
write
Polecenia , gdy nie jest używanywithout newline
, wykonujewrite text
polecenia ze względu na domyślnie dodaje nowej linii po „tekst do wysłania”. W ten sposób okno pozostaje otwarte po zakończeniu polecenia , gotowe do dodatkowego użycia.Ze słownika iTerm AppleScript:
źródło
wymienić
command "echo hello world"
zUżycie polecenia
read
bash powoduje, że użytkownik kończy linię (tj. Naciskając klawisz Enter) przed wyjściem. Naciśnięcie klawisza Enter w ciągu 3 sekund nadal spowoduje wyświetlenie ostrzeżenia, ponieważ jest to funkcja iTerm, którą można wyłączyć, zaznaczając pole ostrzeżenia i precyzyjniej kontrolować w Preferencjach → Zaawansowane → Ostrzegaj o sesjach krótkotrwałych.źródło