การกำหนดค่า zsh ใน OSX เพื่อเริ่มกระบวนการอัตโนมัติ


1

ฉันเพิ่งแปลงเป็นใช้ zsh แทนทุบตีใน OSX และสงสัยว่าเป็นไปได้ที่จะทำต่อไปนี้:

เมื่อฉันเรียกใช้งานเทอร์มินัลฉันต้องการเริ่มแท็บต่าง ๆ และให้แต่ละแท็บใช้กระบวนการที่แตกต่างกันเช่นการปรับแต่งบันทึกการใช้สคริปต์ทับทิมเป็นต้น

ขณะนี้ฉันต้องการ cmd + n หลายแท็บจากนั้นเริ่มต้นแต่ละกระบวนการด้วยตนเอง แม้ว่าจะใช้เวลาไม่นาน แต่ฉันต้องการที่จะเปิดตัวเทอร์มินัลของฉันและให้แท็บต่างๆเหล่านี้เริ่มต้นและเรียกใช้คำสั่งเหล่านั้นโดยอัตโนมัติ

เป็นไปได้ไหม


1
สิ่งที่คุณไม่ควรจัดการโดยเชลล์ของคุณ ดูในหน้าจอมัลติเพล็กเซอร์เช่น GNU Screen หรือ tmux คุณสามารถกำหนดค่าเหล่านี้ได้อย่างง่ายดายเพื่อทำสิ่งที่คุณถามและเพื่อประโยชน์เพิ่มเติมคุณสามารถเริ่มกระบวนการที่ใช้เวลานานจากนั้นแยกออกจากหน้าต่างนั้นจากนั้นแนบใหม่อีกครั้งในภายหลังหากจำเป็น
EEAA

คุณสามารถสร้างการกำหนดค่าหน้าต่างเทอร์มินัลเฉพาะที่เริ่มโปรแกรมที่ต้องการเมื่อเปิดแทนเชลล์ล็อกอิน
Daniel Beck

คำตอบ:


2

ฉันมีคำถามที่คล้ายกันเมื่อไม่นานมานี้ เท่าที่ฉันจะบอกได้วิธีเดียวที่จะใช้สคริปต์การกระทำของเทอร์มินัลคือการใช้ applescript (หลังจากทั้งหมด Terminal.app เป็นแอป GUI และ AppleScript เป็นวิธีการสคริปต์ GUI ที่แอปเปิ้ลตั้งใจ)

เขียนสคริปต์ดังต่อไปนี้:

tell application "Terminal"
    activate
    do script "cd /path_to/target_dir" in front window
    do script "some_command" in front window
end tell

tell application "System Events" to tell process "Terminal" to keystroke "t" using command down

tell application "Terminal"
    activate
    do script "cd /path_to/next_target_dir" in front window
    do script "some_other_command" in front window
end tell

...etc

ทำซ้ำหลาย ๆ ครั้งตามที่จำเป็นสำหรับจำนวนคำสั่งที่จำเป็น โปรดทราบว่ามีไว้สำหรับแท็บที่คุณร้องขอเป็นพิเศษแม้ว่าการกดแป้น "cmd-N" ที่กล่าวถึงจะเปิดหน้าต่างใหม่ไม่ใช่แท็บ เปลี่ยน "t" เป็น "n" ในบรรทัด 'บอกแอปพลิเคชัน "เหตุการณ์ของระบบ" ... ' หากคุณต้องการทำสิ่งนี้กับ windows

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.