ความแตกต่างระหว่างนามสกุลไฟล์. command, .tool และ. sh คืออะไร


22

ฉันเห็นคำถามสองสามข้อเกี่ยวกับการเรียกใช้งานสคริปต์บรรทัดคำสั่งหรือไม่ ฉันเห็นว่ามีการกล่าวถึงส่วนขยาย. คำสั่งและ. เครื่องมือ ฉันเคยใช้. sh ความแตกต่างระหว่างสคริปต์ที่แตกต่างกันเหล่านี้คืออะไร? ส่วนขยายบางอย่างอนุญาตสำหรับคำสั่งต่าง ๆ หรือไม่?

คำตอบ:


15
  • .command - (สคริปต์เชลล์เทอร์มินัล) เชื่อมโยงเชลล์สคริปต์กับเทอร์มินัลโดยเฉพาะ บางครั้งเรียกว่า "ไฟล์เทอร์มินัล"
  • .tool - (สคริปต์เชลล์เทอร์มินัล) เหมือนกับนามสกุลไฟล์ ".command"
  • .sh - (Shell Script) เชลล์สคริปต์พื้นฐานที่เชื่อมโยงกับ Xcode 4.1

โดยทางโปรแกรมฉันแน่ใจว่าความแตกต่างระหว่างสองคำสั่งแรก (.command vs. .tool) นั้นบอบบางในขณะที่อันที่สามนั้นเป็นเชลล์สคริปต์ที่เรียบง่ายและเป็นค่าเริ่มต้น และจริง ๆ แล้วเชื่อมโยงกับ Xcode 4.1

ป้อนคำอธิบายรูปภาพที่นี่


5
"…ฉันแน่ใจว่าความแตกต่างระหว่างสองคำสั่งแรก (. คำสั่งกับ. เครื่องมือ) นั้นบอบบาง ... นามสกุลไฟล์สองชื่อแมปกับไฟล์ประเภทเดียวกันที่แน่นอนใน Info.plist ของ Terminal และ Terminal ไม่พยายามตรวจสอบว่ามีการขยายนามสกุลใดบ้าง นอกจากนี้นอกเหนือจากความจริงที่ว่ามีนามสกุลต่างกันหมายความว่าพวกเขาสามารถมีแอปพลิเคชั่นเริ่มต้นที่แตกต่างกันเนื้อหาของไฟล์ทั้งสามประเภทนี้เหมือนกัน ทั้งหมดเป็นเพียงเชลล์สคริปต์
Chris หน้า

2

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

ไฟล์ .command และ. tool เป็นของ Terminal โดยค่าเริ่มต้นดังนั้นหากคุณดับเบิลคลิกที่หนึ่งในนั้นไฟล์เหล่านั้นจะเปิดขึ้นมาและเรียกใช้งานใน Terminal

ฉันไม่ได้ตระหนักถึงความแตกต่างอื่น ๆ ระหว่างพวกเขา

ฉันเช่นกันเคยใช้. sh สำหรับเชลล์สคริปต์ แต่เมื่อไม่นานมานี้ฉันเพิ่งเริ่มเขียนเชลล์สคริปต์ใน Zsh แทนที่จะเป็น sh และมันสับสนที่พยายามจำว่าคำสั่งบางอย่างสิ้นสุดลงใน. sh หรือ .zsh ดังนั้นในที่สุดฉันก็ใส่พวกเขาทั้งหมดใน ~ / bin / และทำให้แน่ใจว่าพวกมันใช้งานได้และไม่ต้องใช้นามสกุลไฟล์เลย


จริงๆแล้วพวกเขาไม่ได้เปิดใน Xcode และฉันติดตั้ง Xcode ไว้ในเครื่องของฉันแล้ว
daviesgeek

1
ไฟล์. sh สามารถเปิดใน Xcode (ควบคุมคลิก» "เปิดด้วย" จะแสดง Xcode เป็นตัวเลือก) แต่แอปใดที่เปิดอยู่จะขึ้นอยู่กับแอปพลิเคชันที่ติดตั้งครั้งแรกและ "เรียกร้อง" ส่วนขยาย หากติดตั้งแอปอื่นก่อน Xcode และอ้างสิทธิ์. sh มันจะไม่แสดงเป็นการเปิดด้วย Xcode
TJ Luoma

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