ส่วนที่เกี่ยวข้องของ ผู้ชายทุบตี
:
ในบริบทที่คำสั่งมอบหมายกำลังกำหนดค่าให้กับ a
ตัวแปรเชลล์หรือดัชนีอาร์เรย์ สามารถใช้ตัวดำเนินการ += เพื่อต่อท้าย
หรือเพิ่มให้กับค่าก่อนหน้าของตัวแปร ซึ่งรวมถึงการโต้แย้ง
คำสั่งในตัวเช่นประกาศว่ายอมรับคำสั่งการมอบหมาย
(คำสั่งประกาศ). เมื่อใช้ += กับตัวแปรที่
มีการตั้งค่าแอตทริบิวต์จำนวนเต็ม ค่าจะถูกประเมินเป็นเลขคณิต exâ
กดและเพิ่มค่าปัจจุบันของตัวแปร ซึ่งก็คือ evalâ
อ้วน เมื่อใช้ += กับตัวแปรอาร์เรย์โดยใช้การมอบหมายแบบผสมâ
ment (ดูอาร์เรย์ด้านล่าง) ค่าของตัวแปรจะไม่ถูกยกเลิก (ตามที่เป็นอยู่
เมื่อใช้ =) และค่าใหม่จะถูกต่อท้ายอาร์เรย์โดยเริ่มต้นที่
มากกว่าดัชนีสูงสุดของอาร์เรย์ (สำหรับอาร์เรย์ที่จัดทำดัชนี) หรือ
เพิ่มเป็นคู่คีย์-ค่าเพิ่มเติมในอาร์เรย์ที่เชื่อมโยง เมื่อไหร่?
เมื่อโยงกับตัวแปรค่าสตริง ค่าจะถูกขยายและต่อท้าย
ค่าของตัวแปร
เนื่องจากคุณไม่ได้ตั้งค่าแอตทริบิวต์จำนวนเต็มสำหรับ ก
, ก+=$ข
จะดำเนินการ การต่อสตริง แทนการบวกเลขคณิต:
$a=1; ข=2; ก+=$ข; เสียงสะท้อน "$a"
12
ในทางตรงกันข้าม
$ ยกเลิกการตั้งค่า a b
$ ประกาศ -i a=1; ข=2; ก+=$ข; เสียงสะท้อน "$a"
3
หรือคุณสามารถบังคับการประเมินทางคณิตศาสตร์โดยใช้ (( ... ))
$ ยกเลิกการตั้งค่า a b
$a=1; ข=2; ((a+=$b)); เสียงสะท้อน "$a"
3
(โปรดทราบว่า ((ก+=ข))
ยังใช้งานได้ เดอะ $
ไม่จำเป็นต้องอ้างอิงตัวแปรในบริบทเลขคณิต)