Android

Cách tăng và giảm biến trong bash (bộ đếm)

Bash Xargs

Bash Xargs

Mục lục:

Anonim

Một trong những phép toán số học phổ biến nhất khi viết các tập lệnh Bash là các biến tăng và giảm. Điều này thường được sử dụng trong các vòng lặp như một bộ đếm, nhưng nó cũng có thể xảy ra ở nơi khác trong kịch bản.

Tăng và giảm có nghĩa là cộng hoặc trừ một giá trị (thường là 1 ), tương ứng, từ giá trị của một biến số. Việc mở rộng số học có thể được thực hiện bằng cách sử dụng dấu ngoặc đơn ((…)) $((…)) hoặc bằng lệnh let dựng sẵn.

Trong Bash, có nhiều cách để tăng / giảm một biến. Bài viết này giải thích một số trong số họ.

Sử dụng + - Toán tử

Cách đơn giản nhất để tăng / giảm một biến là sử dụng toán tử + - .

i=$((i+1)) ((i=i+1)) let "i=i+1"

i=$((i-1)) ((i=i-1)) let "i=i-1"

Phương pháp này cho phép bạn tăng / giảm biến theo bất kỳ giá trị nào bạn muốn.

Dưới đây là một ví dụ về việc tăng một biến trong vòng lặp until :

i=0 until do echo i: $i ((i=i+1)) done

i: 0 i: 1 i: 2 i: 3

Toán tử += -=

Ngoài các toán tử cơ bản được giải thích ở trên, bash cũng cung cấp các toán tử gán += -= . Các toán tử này được sử dụng để tăng / giảm giá trị của toán hạng bên trái với giá trị được chỉ định sau toán tử.

((i+=1)) let "i+=1"

((i-=1)) let "i-=1"

Trong vòng lặp while sau đây, chúng ta sẽ giảm giá trị của biến i bằng 5 .

i=20 while do echo Number: $i let "i-=5" done

Number: 20 Number: 15 Number: 10 Number: 5

Sử dụng các toán tử ++ --

Các toán tử ++ -- tăng và giảm tương ứng, toán hạng của nó bằng 1 và trả về giá trị.

((i++)) ((++i)) let "i++" let "++i"

((i--)) ((--i)) let "i--" let "--i"

Các toán tử có thể được sử dụng trước hoặc sau toán hạng. Chúng còn được gọi là:

  • tăng tiền tố: ++i --i tiền tố: --i tăng tiền tố: ++i giảm tiền tố: --i

Các toán tử tiền tố đầu tiên tăng / giảm các toán tử thêm 1 và sau đó trả về giá trị mới của các toán tử. Mặt khác, các toán tử postfix trả về giá trị của các toán tử trước khi nó được tăng / giảm.

Các ví dụ sau minh họa cách toán tử ++ hoạt động khi được sử dụng trước và sau toán tử của nó:

x=5 y=$((x++)) echo x: $x echo y: $y

x: 6 y: 5

x=5 y=$((++x)) echo x: $x echo y: $y

x: 6 y: 6

Dưới đây là một ví dụ về cách sử dụng bộ tăng hậu tố trong tập lệnh bash:

#!/bin/bash i=0 while true; do if]; then exit 1 fi echo i: $i ((i++)) done

Nhược điểm của việc sử dụng các toán tử này là biến chỉ có thể tăng hoặc giảm 1 .

Phần kết luận

Các biến tăng và giảm trong Bash có thể được thực hiện theo nhiều cách khác nhau. Dù bạn sử dụng phương pháp nào, kết quả đều như nhau.

Nếu bạn có bất kỳ câu hỏi hoặc phản hồi, hãy để lại nhận xét.

thiết bị đầu cuối bash loop