Niềng răng xoăn luôn cần thiết để truy cập các phần tử mảng và thực hiện mở rộng niềng răng.
Thật tốt khi không quá thận trọng và sử dụng {}
để mở rộng biến vỏ ngay cả khi không có phạm vi cho sự mơ hồ.
Ví dụ:
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
Vì vậy, tốt hơn là viết ba dòng như:
path=/var/$dir/$prog
logfile=$path/$prog.log
path_copy=$path
mà chắc chắn là dễ đọc hơn
Vì một tên biến không thể bắt đầu bằng một chữ số, shell không cần {}
xung quanh các biến được đánh số (như $1
, $2
v.v.) trừ khi mở rộng như vậy được theo sau bởi một chữ số. Điều đó quá tinh tế và nó được sử dụng rõ ràng {}
trong các bối cảnh như vậy:
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
Xem:
{}
được gọi là mở rộng cú đúp .${}
được gọi là mở rộng biến. Họ làm những việc khác nhau. Tôi sẽ nâng cấp bạn ngoại trừ bit không mở rộng.