สร้างทางลัดส่วนกลางเพื่อเรียกใช้แอปพลิเคชันบรรทัดคำสั่ง


31

ฉันต้องใช้ขั้นตอนใดในการรันโปรแกรมบรรทัดคำสั่งผ่านทางลัดส่วนกลาง

ฉันตั้งค่า Automator เพื่อสร้าง Run Shell Script ใหม่และพยายามกำหนดทางลัดใน System Preferences -> Keyboard -> Keyboard Shortcuts แต่ไม่มีอะไรเกิดขึ้น


1
คำถามของฉันแตกต่าง ฉันไม่ต้องการเปิดหน้าต่างเทอร์มินัลเลย
z-buffer

1
หากคุณไม่ต้องการให้หน้าต่างเทอร์มินัลเปิดเลยคุณจะถามสิ่งเดียวกับโพสต์ที่ลิงก์
แดเนียล

คำตอบ:


8

Applescript it:

do shell script "ls ~/Desktop"

เพิ่มสิ่งที่คุณต้องการจากนั้นคุณสามารถเรียกใช้ Applescript ผ่านแอปพลิเคชันฮอตคีย์ส่วนกลาง ฉันจะแนะนำSpark

โอ้และฉันไม่รู้เกี่ยวกับการกำหนดทางลัดผ่านการตั้งค่าระบบ


การเล่นชนิดหนึ่ง ฟังก์ชั่นนี้ไม่ได้แปลกอยู่แล้วใน OSX ขอบคุณมาก!
Adam Flott

@ อดัมใช่มันแปลกไปหน่อย
daviesgeek

8
ยกเว้นว่ามันถูกสร้างขึ้นใน OS X ผ่าน Automator Services @AdamFlott เป็นเพียงคำตอบที่คุณยอมรับไม่ได้ใช้วิธีการนั้น
Daniel

2
นอกจากนี้ AppleScript และ Automator เป็นส่วนหนึ่งของ OS X
Daniel

1
-1 สำหรับการใช้บุคคลที่ 3 โดยไม่มีเหตุผลที่ดี
cregox

32

โดยไม่ทราบว่ารายละเอียดของสิ่งที่คุณกำลังมองหาผมขอแนะนำให้สร้างใหม่บริการผ่านทางอัตโนมัติ บริการสามารถถูกผูกไว้กับทริกเกอร์การกดแป้นและสามารถเรียกใช้เชลล์สคริปต์ (เหนือสิ่งอื่นใด) ป้อนคำอธิบายรูปภาพที่นี่

ในการตั้งค่าแป้นพิมพ์ลัดไปที่การตั้งค่าระบบ -> คีย์บอร์ด -> ทางลัด -> บริการเลือกบริการที่คุณเพิ่งบันทึกจากนั้นคลิกปุ่ม "เพิ่มทางลัด"


ไม่ชัดเจนสำหรับฉันหลังจากบันทึกบริการวิธีตั้งค่าแป้นพิมพ์ลัด
Liron Yahdav

@LironYahdav ดูการแก้ไขด้านบน
Daniel

12

FastScriptsรวมสคริปต์ทั้งหมดใน ~ / Library / Scripts / ดังนั้นคุณไม่จำเป็นต้องเพิ่มไฟล์ด้วยตนเอง นอกจากนี้ยังรองรับสคริปต์เฉพาะแอปพลิเคชัน

แอปพลิเคชันอื่น ๆ ที่สามารถใช้เพื่อกำหนดทางลัดสำหรับการเรียกใช้สคริปต์:

คุณยังสามารถสร้างบริการ Automator:

  1. เปิด Automator และเลือกแม่แบบบริการ
  2. เพิ่มแอคชัน Run Shell Script หรือ Run AppleScript
  3. ตรวจสอบว่าประเภทอินพุตและขอบเขตแอปพลิเคชันถูกต้อง
  4. วางสคริปต์และบันทึกบริการ
  5. กำหนดทางลัดในบานหน้าต่างการตั้งค่าแป้นพิมพ์

มีข้อผิดพลาดใน 10.7 และ 10.8 ซึ่งทางลัดสำหรับบริการจะไม่ทำงานจนกว่าเมนูบริการจะแสดงจากแถบเมนู ทางลัดสำหรับบริการไม่ทำงานเมื่อแอปพลิเคชันที่อยู่ด้านหน้าไม่มีแถบเมนูหรือเมนูบริการ นอกจากนี้ยังมีความล่าช้าเล็กน้อยก่อนที่จะเรียกใช้บริการ


บวกหนึ่งสำหรับการพูดถึงแอพอื่นที่ทำเช่นกัน ฉันเกือบติดตั้งประกายไฟเมื่อใช้ QuickSilver แล้ว ฉันไม่รู้ว่ามันมีตัวเลือกนั้น
Marlon

นอกจากนี้ส่วนในบานหน้าต่าง "การตั้งค่าแป้นพิมพ์" เพื่อเพิ่มทางลัดจะอยู่ภายใต้ส่วน "บริการ" หากใช้วิธีการอัตโนมัติ
Brad Parks

7

ฉันลองใช้ตัวเลือกทั้งหมด แต่มันซับซ้อนเกินไปและไม่น่าเชื่อถือหรือมีราคาแพงจริงๆ ดังนั้นฉันเลยเขียนโซลูชันของตัวเอง (โอเพ่นซอร์สและฟรี)

iCanHazShortcut

ตอนนี้มันไม่สามารถทำอะไรได้มาก แต่เป็นการเริ่มต้น มีส่วนร่วมโดยการเพิ่มคำขอคุณลักษณะและคำแนะนำ


1
ฉันพยายามหาวิธีแก้ปัญหาที่ง่ายสำหรับปัญหานี้มาสองสามชั่วโมงแล้วและใบสมัครของคุณเป็นโปรแกรมเดียวที่ใช้งานได้และทำสิ่งที่ควรทำโดยไม่มีเสียงระฆังและเสียงรบกวนที่ซับซ้อน ขอบคุณ!
Stijn Martens

@ StijnMartens ยินดีต้อนรับคุณ! นั่นเป็นแนวคิดทั้งหมดที่อยู่เบื้องหลังหากคุณต้องการทางลัดสำหรับคำสั่งคุณจะได้รับทางลัดสำหรับคำสั่ง ไม่มีอะไรเพิ่มเติมไม่น้อยไปกว่านี้
deseven

มันทำงานได้อย่างสวยงาม
ไบรอัน Schermerhorn

2

Quicksilverสามารถใช้เพื่อผูกปุ่มลัดเพื่อการกระทำ

หากคุณพบว่าตัวเองทำอะไรบางอย่างบ่อยครั้งคุณสามารถเร่งความเร็วของงานได้มากขึ้นด้วยการกำหนด“ ทริกเกอร์” ให้กับมัน ทริกเกอร์สามารถเปิดใช้งานโดยแป้นพิมพ์ลัดหรือการเคลื่อนไหวของเมาส์

หากเป็นคำสั่ง Unix หรือเชลล์สคริปต์ที่คุณต้องการดำเนินการโพสต์ Stackoverflow นี้จะให้ข้อมูลเพิ่มเติมเกี่ยวกับการใช้ "โมดูล Terminal" ของ Quicksilver


1

ฉันจะเพิ่มคำตอบของฉันที่นี่โดยใช้BTTเนื่องจากเป็นเรื่องง่ายและสามารถผูกกับสคริปต์บรรทัดคำสั่งได้โดยตรง:

  1. เลือก Keyboard จาก BTT

เลือก Keyboard จาก BTT

  1. ป้อนทางลัดของคุณ (หรือลำดับคีย์!)

ป้อนทางลัดของคุณ (หรือลำดับคีย์!)

  1. เลือก "การกระทำที่กำหนดไว้ล่วงหน้าของ Trigger" และพิมพ์ "shell" เพื่อค้นหาการกระทำ

เลือก "การกระทำที่กำหนดไว้ล่วงหน้าของ Trigger" และพิมพ์ "shell" เพื่อค้นหาการกระทำ

  1. คุณสามารถวางสคริปต์และเชลล์ที่คุณต้องการเรียกใช้ใน:

คุณสามารถวางสคริปต์และเชลล์ที่คุณต้องการเรียกใช้ใน:

คลิกบันทึกแล้วเสร็จ! ตอนนี้ทดสอบสคริปต์ของคุณด้วยทริกเกอร์คีย์บอร์ดที่คุณตั้งค่า

  1. พิเศษ: คุณอาจต้องการเพิ่มบันทึกเพื่อจดจำสิ่งที่ทางลัดสำหรับ ...

คุณอาจต้องการเพิ่มโน้ตเพื่อจดจำว่าทางลัดนั้นมีไว้สำหรับ ...


ขอบคุณจบลงด้วยการลงเส้นทางนี้เนื่องจากฉันมี BTT
Leo Ufimtsev

0

ดูเหมือนว่านี่จะมีให้ใน 10.6 (ดูhttp://hints.macworld.com/article.php?story=20090903085255430 ) แต่มีบางอย่างเกิดขึ้นใน 10.7.2 (และอาจเป็น 10.7 ก่อนหน้า)

ฉันได้พบว่าที่แป้นพิมพ์ลัดบริการเป็นเกียรติเมื่อตั้งค่าระบบเป็นระดับแนวหน้า แต่ไม่ได้อยู่ในโปรแกรมอื่น ๆ รวมทั้งค้นหา

อย่างไรก็ตามคำแนะนำก่อนหน้านี้ในการใช้Sparkทำงานได้อย่างสมบูรณ์แบบในสิงโตยกเว้นว่าฉันไม่สามารถใช้ Ctrl ในแป้นพิมพ์ลัดของฉันได้ (ไม่ใช่ showstopper!)


เฉพาะเมื่อเมนูแอปพลิเคชั่นอยู่ในโฟกัส หากคุณคลิกเดสก์ท็อปและลองทางลัดมันจะไม่ทำงาน คลิกที่เมนูเพื่อค้นหาแล้วลองและใช้งานได้ ฉันมีบริการสำหรับเทอร์มินัลที่มีทางลัดและแสดงบนแอพทั้งหมด ... แต่มันไม่ทำงานหากฉันไม่ได้อยู่ในแอพและแม้กระทั่งเมนูต้องมีการโฟกัส
Marlon

@Lri แม้หลังจากออกจากระบบและกลับเข้าสู่ระบบรีสตาร์ทเครื่อง ฯลฯ ก็ยังไม่สามารถทำงานได้เว้นแต่ฉันจะทำตามที่อธิบายไว้ข้างต้น การตั้งค่าใน Quicksilver ใช้งานได้ ฉันต้องการทราบว่า QuickSilver มาได้อย่างไรเมื่อจับทางลัด "ระดับโลก" เหล่านั้นและไม่ใช่ระบบปฏิบัติการ
Marlon
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.