วิธีตีความไวยากรณ์คำสั่ง bash“ การใช้”?


11

คุณจะต้องตีความผลลัพธ์ของคำสั่ง "การใช้งาน" เอาท์พุทอย่างไรเช่นใน bash

ตัวอย่างเช่นใน OS X ของcpฉันให้ฉัน

usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
       cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory
  • ตัวเลือกที่ซ้อนกันเช่น -H ภายใน -R หมายถึงอะไร
  • ตัวพิมพ์ใหญ่และเล็กมีความหมายใด ๆ
  • อาร์กิวเมนต์เป็นตัวเลือกเมื่อจำเป็น?

ฉันต้องใช้คำสั่ง telnet กับโปรแกรมของฉันและฉันต้องการที่จะได้รับตรงนี้

คำตอบ:


15

man manสำหรับทุกคนที่พยายามที่จะเข้าใจในสิ่งที่ใช้วิธีการส่งออกวิธีที่ดีที่สุดคือการ

อย่างจริงจัง :-) ใช้เวลาในการเรียนรู้อนุสัญญามันช่วยได้จริงๆ

   The following conventions apply to the SYNOPSIS section and can be used
   as a guide in other sections.

   bold text          type exactly as shown.
   italic text        replace with appropriate argument.
   [-abc]             any or all arguments within [ ] are optional.
   -a|-b              options delimited by | cannot be used together.
   argument ...       argument is repeatable.
   [expression] ...   entire expression within [ ] is repeatable.

+1 ลบโพสต์ของฉันเป็นรายการซ้ำซ้อน
วอร์เนอร์

man manบน CentOS 6.6 ไม่มีส่วนนี้ และไม่มีเวอร์ชันของman manบน Mac OS X 10.7.4 หาได้ที่ไหน
Wildcard

พบมันman man-pagesอยู่ใน CentOS และman manpagesบน Mac OS X (ซึ่งใช้คำสั่ง BSD)
สัญลักษณ์แทน

คำตอบนี้เช่นเดียวกับman manคำสั่งดูเหมือนจะไม่ครอบคลุมกรณีที่การป้อนข้อมูลจะต้องเป็นหนึ่งในรายการในการแจงนับ ตัวอย่างเช่น<env> - must be one of [dev | test | uat | perf | prod]
Addison

2

ประการแรกในขณะที่มีการประชุมทั่วไปพวกเขาจะไม่ถูกนำมาใช้อย่างสม่ำเสมอ

  • ในกรณีนี้ก็บอกว่าถ้าคุณใช้-R(ระบุ "เรียกซ้ำ") แล้วคุณสามารถใช้อย่างใดอย่างหนึ่ง-H, หรือ-L -Pหากคุณไม่ได้ใช้-Rตัวเลือกเหล่านั้นจะไม่เกี่ยวข้อง
  • ใช่กรณีเป็นสิ่งสำคัญเกือบตลอดเวลา ดังนั้นปกติ-hและ-Hทำสิ่งที่แตกต่างอย่างสิ้นเชิง
  • โดยทั่วไปวงเล็บเหลี่ยมจะระบุว่าตัวเลือกหรืออาร์กิวเมนต์เป็น "ตัวเลือก" (สิ่งที่มีเครื่องหมายยัติภังค์อยู่ข้างหน้าคือ "ตัวเลือก" คำที่ไม่มีเครื่องหมายขีดคั่นเป็นอาร์กิวเมนต์) โดยไม่ต้องใช้เครื่องหมายวงเล็บจำเป็นต้องใช้ตัวเลือกหรืออาร์กิวเมนต์โดยทั่วไป ในตัวอย่างของคุณจำเป็นต้องมีทั้ง "source_file" และ "target_directory" "... " บ่งชี้ว่าอาร์กิวเมนต์ก่อนหน้านี้สามารถทำซ้ำได้

ประเด็นอื่น ๆ ที่น่าสังเกต:

  • แถบแนวตั้งระบุว่า "หรือ" ดังนั้น[-fi | -n]แสดงว่าคุณสามารถใช้-fและ / หรือแต่ไม่ได้อยู่ในการรวมกันกับ-i-n
  • ตัวเลือกการจัดกลุ่มในวงเล็บระบุว่าคุณสามารถใช้ตัวเลือกใดก็ได้ ดังนั้น[-apvX]บ่งชี้ว่าคุณสามารถใช้การรวมกันของตัวเลือกเหล่านั้น พวกเขาไม่จำเป็นต้องถูกทุบด้วยกัน ดังนั้น-a -v -pจะเป็นการรวมกันที่ถูกต้อง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.