ฉันมองหาวิธีการจัดเตรียมคำสั่งทุบตีที่มีอาร์กิวเมนต์หลายตัวโดยน้ำตาลไวยากรณ์บางตัวเท่านั้น ฉันรู้ $@ และ $* อยู่แล้ว แต่ฉันไม่รู้วิธีใช้อย่างถูกต้อง มันจะดีกับไวยากรณ์ต่อไปนี้:
กำหนดอาร์กิวเมนต์
คำสั่ง &args
ไวยากรณ์เพิ่มเติมสามารถเป็นดังนี้:
- เชื่อมอาร์กิวเมนต์เดี่ยวและสตรีมเข้าด้วยกัน
กำหนด args_stream
คำสั่ง &args_stream arg_1
- เชื่อมต่อรายการเดียวและสตรีมอีกทางหนึ่ง
กำหนด args_stream1
กำหนด args_stream2
คำสั่ง &args_stream arg_1 &args_stream2
ดูเหมือนจะเป็นการปฏิบัติที่ไม่ดี แต่ฉันต้องการลดแถวของเชลล์สคริปต์ของฉัน ... :(
อัปเดต
ตัวอย่าง: เนื่องจากคำถามกว้างมากจนผู้อ่านไม่สามารถเข้าใจความหมายที่แท้จริงได้ ฉันจึงยกตัวอย่าง:
- ของฉัน
หัวพิมพ์
การทำงาน มี 7 อาร์กิวเมนต์ แต่ส่วนใหญ่อาจเป็นพารามิเตอร์ ทางเลือกหนึ่งคือตั้งค่าตัวแปรของฉันเป็นพารามิเตอร์เริ่มต้น อย่างไรก็ตาม ฉันจะต้องเรียงลำดับการโต้แย้งในรูปแบบที่ผิดปกติ เพื่อให้อาร์กิวเมนต์หลักเป็นองค์ประกอบที่ถูกต้องที่สุด รูปแบบอื่นคือการเขียนอาร์กิวเมนต์ตามที่ฉันพูดถึง: ฉันต้องการแก้ไขอาร์กิวเมนต์สตรีมหรืออาร์เรย์เหล่านี้ตามที่กล่าวไว้ด้านล่าง:
คำสั่ง $1 [$2.1 $2.2 $2.3] $3
- โดยเรียกใช้คำสั่ง
คอมไพล์ - ช่วยเหลือ
ฉันได้รับบันทึกด้านล่าง:
การใช้งาน: git [--version] [--help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-พี | --เลขหน้า | -P | --no-เพจเจอร์] [--no-replace-objects] [--เปลือย]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<ชื่อ>]
<คำสั่ง> [<args>]
อาร์กิวเมนต์ระหว่างวงเล็บเป็นทางเลือก แต่อาจมีเครื่องหมายยัติภังค์คู่ --
สัญกรณ์ เป็นตัวเลือกสำหรับสัญกรณ์สตรีมอาร์กิวเมนต์ของฉัน