แสดงเนื้อหาแพคเกจจากบรรทัดคำสั่ง


14

เมื่อทำงานที่เทอร์มินัลฉันมักใช้open .คำสั่งเพื่อเปิดหน้าต่างค้นหาที่แสดงไดเรกทอรีการทำงานปัจจุบัน แต่ถ้าไดเรกทอรีปัจจุบันเป็นจริงแพคเกจเช่น.appแอปพลิเคชันหรือ.vmwarevmเครื่องเสมือนopen .เรียกใช้แอปพลิเคชันหรือเครื่องเสมือนแทน

ฉันจะเปิดหน้าต่างค้นหาที่แสดงเนื้อหาของแพ็คเกจที่ระบุได้อย่างไร

ฉันลองopen -A /System/Library/CoreServices/Finder.app .แล้ว แต่มันไม่ได้ผล


ไม่ใช่ Mac ที่จะทำการทดสอบ แต่คุณลองใช้ดูcd /System/Library/CoreServices/Finder.appไหม? หากไม่ได้ผลฉันจะลบความคิดเห็น
stuffe

ฉันจะเดาopen -a Finder .ไม่ทำงานเพราะเมื่อคุณดับเบิลคลิกที่ App Bundle ภายใน Finder มันจะเปิดแอพ :)
Jason Salaz

คำตอบ:


3

การใช้open -Rไฟล์แรกในบันเดิลจะใช้ได้แม้ว่าบันเดิลจะไม่มีContentsไดเรกทอรี:

reveal() (
  shopt -s nullglob
  for f; do
    a=("$f"/*)
    [[ -d $f && ${#a} != 0 ]] && open -R -- "${a[0]}" || open -R -- "$f"
  done
)

มันอาจจะง่ายกว่าในการพิมพ์open -Rและพา ธ ของไฟล์บางไฟล์ภายในบันเดิล คุณสามารถผูกmenu-completeใน.inputrcที่จะทำให้มันง่ายต่อการใส่เส้นทางของแฟ้มแรก


9

คุณสามารถcdเข้าไปในแพ็คเกจเพื่อเปิดใน Terminal จากนั้นopen Contentsเปิดเนื้อหาใน Finder

ตัวอย่างเช่นหากต้องการเปิดเนื้อหาของ Safari.app ใน Finder คุณสามารถเรียกใช้สิ่งต่อไปนี้:

cd /Applications/Safari.app
open Contents

1
ไม่แพคเกจทั้งหมดไม่มีContentsโฟลเดอร์ - .vmwarevmเครื่องเสมือนไม่แน่ใจ
แอนดรู

ไฟล์เพียงแค่
แอนดรู

บันเดิลชนิดอื่นที่ไม่มีContentsโฟลเดอร์คือ.xcodeprojบันเดิล คุณจะได้รับตัวอย่างที่นี่
แอนดรู

2
สารบัญบิตเป็นเพียงตัวอย่างการดำเนินการcdลงในไฟล์ .app เป็นสิ่งที่คุณกำลังมองหาโดยไม่คำนึงถึงของ app รวมกลุ่มเนื้อหาในที่สุด
stuffe

1
open -R *

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

ดูเหมือนว่านี้: Schalalalalala


2
การเปิด * ดูเหมือนจะเป็นความคิดที่เลวมากโดยเฉพาะอย่างยิ่งโดยไม่เตือนผู้คนว่าควรทำอะไรในไดเรกทอรีที่ไม่ถูกต้อง นี่น่าจะเป็นความเห็นของคำตอบอื่นหรือเปล่า?
bmike

@bmike ผมคิดว่าคุณลืมตัวเลือก -R ...
แม็กซ์ Ried


-1

จาก Finder ให้คลิกขวาที่แอปพลิเคชั่นแล้วเลือก 'Show Contents' แอพจะเปิดแอพขึ้นมาและคุณสามารถนำทางไปยังโฟลเดอร์ที่แนบมา

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