Phần liên quan của người đàn ông bash
:
Trong ngữ cảnh mà một câu lệnh gán đang gán một giá trị cho một
biến shell hoặc chỉ mục mảng, toán tử += có thể được sử dụng để nối thêm vào
hoặc thêm vào giá trị trước đó của biến. Điều này bao gồm các đối số để
các lệnh dựng sẵn, chẳng hạn như khai báo chấp nhận các câu lệnh gán
(các lệnh khai báo). Khi += được áp dụng cho một biến mà
thuộc tính số nguyên đã được đặt, giá trị được ước tính dưới dạng số học exâ
pression và thêm vào giá trị hiện tại của biến, cũng là evalâ
uated. Khi += được áp dụng cho một biến mảng bằng cách sử dụng phép gánâ
ment (xem Mảng bên dưới), giá trị của biến không được bỏ đặt (vì nó là
khi sử dụng =) và các giá trị mới được thêm vào mảng bắt đầu từ
lớn hơn chỉ số tối đa của mảng (đối với mảng được lập chỉ mục) hoặc
được thêm dưới dạng các cặp khóa-giá trị bổ sung trong một mảng kết hợp. Khi a
được dán vào một biến có giá trị chuỗi, giá trị được mở rộng và thêm vào
giá trị của biến.
Vì bạn chưa đặt thuộc tính số nguyên cho một
, a+=$b
sẽ thực hiện nối chuỗi thay vì cộng số học:
$a=1; b=2; a+=$b; lặp lại "$a"
12
nhưng trái lại
$ bỏ đặt a b
$ khai báo -i a=1; b=2; a+=$b; lặp lại "$a"
3
Ngoài ra, bạn có thể buộc đánh giá số học bằng cách sử dụng (( ... ))
$ bỏ đặt a b
$a=1; b=2; ((a+=$b)); lặp lại "$a"
3
(lưu ý rằng ((a+=b))
cũng hoạt động; các $
không cần thiết phải hủy tham chiếu các biến trong ngữ cảnh số học).