Làm cách nào để thiết lập AppleScript để mở tab iTerm2 mới và thay đổi thư mục?


17

Trong OS X, làm cách nào để thiết lập AppleScript

  • mở một tab iTerm2 mới
  • thay đổi thư mục
  • xóa bàn điều khiển
  • echo thư mục hiện tại

Tôi đã có một cái gì đó như thế này trước đây cho Terminal thông thường, nhưng tôi thậm chí không thể tìm thấy hướng dẫn về kịch bản cho iTerm2.


1
Tới trang web của họ , bấm vào nút " Tài liệu ", sau đó bấm vào nút " Scripting ". Hoặc bạn có ý nghĩa gì bởi "hướng dẫn kịch bản"?
Daniel Beck

Nếu bạn thử điều này với iTerm2, giải pháp được đăng ở đây: stackoverflow.com/questions/38692346/new-tab-in-iterm2#_=_
Andy Cochrane

Câu trả lời:


16

Giải pháp của Daniel bằng cách nào đó mở ra một Cửa sổ mới - đồng thời, exec commandtuyên bố không hoạt động như mong đợi. Người ta phải write textthay thế.

Ngoài ra, bạn phải sử dụng

launch session "Default Session" 

để có được một tab mới.

Sau đây là những gì bạn yêu cầu:

tell application "iTerm"
    make new terminal
    tell the current terminal
        activate current session
        launch session "Default Session"
        tell the last session
            write text "cd ~/Downloads; clear; pwd"
        end tell
    end tell
end tell

viết văn bản thêm trả lại / dòng mới trên chính nó?
Daniel Beck

Rõ ràng, nó làm! Tôi đã thử tất cả mọi thứ trước khi đăng. exec commandlàm một cái gì đó , nhưng tôi không biết chính xác những gì.
slhck

Cảm ơn cho một câu trả lời tốt đẹp. Tôi cũng thấy các bình luận ở cuối trang này hữu ích trong việc viết tập lệnh "cd to": code.google.com/p/iterm2/wiki/AppleScript
cwd

Tôi tin rằng exec thực sự chạy exec(3)và do đó chỉ hoạt động trong một phiên mới và chạy tiến trình exec: ed thay vì shell.
Henrik N

1
@slhck nvm, đã tìm thấy viên ngọc nhỏ này với cách sử dụng EOD: apple.stackexchange.com/questions/103621/ chủ đề
Ken

0

Không phải trên máy Mac ngay bây giờ, vì vậy nó có thể không hoạt động 100% (điều chỉnh câu trả lời này của tôi ).

tell application "iTerm"
    activate
    set t to (make new terminal)
    tell t
        tell (make new session at the end of sessions)
            exec command "cd Downloads"
            exec command "clear"
            exec command "pwd"
        end tell
    end tell
end tell

Bạn có thể nối các lệnh với

cd Downloads ; clear ; pwd
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.