ฉันใช้ bash shell บน linux และต้องการใช้พารามิเตอร์มากกว่า 10 ตัวในเชลล์สคริปต์
ฉันใช้ bash shell บน linux และต้องการใช้พารามิเตอร์มากกว่า 10 ตัวในเชลล์สคริปต์
คำตอบ:
ใช้วงเล็บปีกกาเพื่อปิด:
echo "${10}"
คุณยังสามารถวนซ้ำพารามิเตอร์ตำแหน่งเช่นนี้:
for arg
หรือ
for arg in "$@"
หรือ
while (( $# > 0 ))    # or [ $# -gt 0 ]
do
    echo "$1"
    shift
done
    ${10}กำหนดโดย POSIX
                    ${10}การทำงานเป็นสิ่งที่จำเป็นเมื่อใช้การใช้งานที่เก่ามากซึ่งไม่เป็นไปตามมาตรฐานเท่านั้น อาจเป็นเพียงความสนใจทางประวัติศาสตร์ ... แต่ฉันยังไม่เคยใช้เลย! ฉันคิดว่าเพราะแนวทางปฏิบัติที่ดีที่สุดกำหนดว่าข้อโต้แย้ง 10 ข้อนั้นมีมากเกินไปเว้นแต่ว่าจะมีการทำซ้ำซึ่งในกรณีนี้คุณจะต้องทำซ้ำ"$@"มากกว่าการแจกแจง
                    คุณสามารถมีพารามิเตอร์ได้ถึง 256 พารามิเตอร์ตั้งแต่ 0 ถึง 255 ด้วย:
${255}
    sh -c 'echo ${333}' /usr/bin/*
                    set $(seq 2097152); echo ${2097152}
                    
-a 1หรือ--foo=bar) แทน ดูman getopt,man getoptsและman bashสำหรับบางตัวเลือกสำหรับการทำว่า