การจัดฟันแบบลอนนั้นจำเป็นสำหรับการเข้าถึงองค์ประกอบของอาเรย์และทำการขยายส่วนเสริม
เป็นการดีที่จะไม่ระมัดระวังและใช้{}สำหรับการขยายตัวแปรเชลล์แม้ว่าจะไม่มีขอบเขตสำหรับความคลุมเครือก็ตาม
ตัวอย่างเช่น:
dir=log
prog=foo
path=/var/${dir}/${prog}      # excessive use of {}, not needed since / can't be a part of a shell variable name
logfile=${path}/${prog}.log   # same as above, . can't be a part of a shell variable name
path_copy=${path}             # {} is totally unnecessary
archive=${logfile}_arch       # {} is needed since _ can be a part of shell variable name
ดังนั้นจะเป็นการดีกว่าถ้าเขียนสามบรรทัดดังนี้:
path=/var/$dir/$prog
logfile=$path/$prog.log
path_copy=$path
ซึ่งแน่นอนอ่านได้มากขึ้น
เนื่องจากชื่อตัวแปรไม่สามารถเริ่มต้นด้วยหลักเชลล์จึงไม่จำเป็นต้องใช้{}ตัวแปรที่มีหมายเลข (เช่น$1และ$2อื่น ๆ ) เว้นแต่ว่าจะมีการขยายตัวตามด้วยตัวเลข มันบอบบางเกินไปและทำให้ใช้งานอย่างชัดเจน{}ในบริบทดังกล่าว:
set app      # set $1 to app
fruit=$1le   # sets fruit to apple, but confusing
fruit=${1}le # sets fruit to apple, makes the intention clear
ดู:
               
              
{}เป็นที่รู้จักกันการขยายตัวรั้ง${}เรียกว่าการขยายตัวของตัวแปร พวกเขาทำสิ่งต่าง ๆ ฉันจะลงคะแนนให้คุณยกเว้นบิตที่ไม่มีส่วนขยาย