Trong bài viết này, chúng tôi sẽ chỉ cho bạn nhiều cách hữu ích khác nhau để thực hiện số học trong thiết bị đầu cuối Linux. Đến cuối bài viết này, bạn sẽ tìm hiểu các cách thực tế cơ bản khác nhau để thực hiện các phép tính toán học trong dòng lệnh.
Hãy bắt đầu nào!
1. Sử dụng Bash Shell
Cách đầu tiên và dễ dàng nhất để thực hiện phép toán cơ bản trên Linux CLI là sử dụng dấu ngoặc đơn kép. Dưới đây là một số ví dụ trong đó chúng tôi sử dụng các giá trị được lưu trữ trong biến:
$ ADD=$(( 1 + 2 )) $ echo $ADD $ MUL=$(( $ADD * 5 )) $ echo $MUL $ SUB=$(( $MUL - 5 )) $ echo $SUB $ DIV=$(( $SUB / 2 )) $ echo $DIV $ MOD=$(( $DIV % 2 )) $ echo $MOD
Số học trong Linux Bash Shell 2. Sử dụng lệnh expr
Lệnh expr đánh giá các biểu thức và in giá trị của biểu thức được cung cấp ra đầu ra tiêu chuẩn. Chúng ta sẽ xem xét các cách sử dụng expr khác nhau để thực hiện các phép toán đơn giản, so sánh, tăng giá trị của một biến và tìm độ dài của một chuỗi.
Sau đây là một số ví dụ về thực hiện các phép tính đơn giản bằng lệnh expr . Lưu ý rằng nhiều toán tử cần phải được thoát hoặc trích dẫn cho shell, ví dụ như * toán tử (chúng ta sẽ xem xét kỹ hơn ở phần so sánh các biểu thức).
$ expr 3 + 5 $ expr 15 % 3 $ expr 5 \* 3 $ expr 5 – 3 $ expr 20 / 4
Số học cơ bản sử dụng lệnh expr trong Linux Tiếp theo, chúng tôi sẽ đề cập đến cách so sánh. Khi một biểu thức được đánh giá là sai, expr sẽ in giá trị 0 , nếu không nó sẽ in 1 .
Hãy xem một số ví dụ:
$ expr 5 = 3 $ expr 5 = 5 $ expr 8 != 5 $ expr 8 \> 5 $ expr 8 \< 5 $ expr 8 \<= 5
So sánh các biểu thức số học trong Linux Bạn cũng có thể sử dụng expr lệnh tăng giá trị của biến Hãy xem ví dụ sau (theo cách tương tự, bạn cũng có thể giảm giá trị của một biến).
$ NUM=$(( 1 + 2)) $ echo $NUM $ NUM=$(expr $NUM + 2) $ echo $NUM
Giá trị gia tăng của một biến Chúng ta cũng hãy xem cách tìm độ dài của chuỗi bằng cách sử dụng:
$ expr length "This is Tecmint.com"
Tìm độ dài của chuỗi Để biết thêm thông tin, đặc biệt là về ý nghĩa của các toán tử trên, hãy xem expr trang người đàn ông:
$ man expr
3. Sử dụng lệnh bc
bc (Máy tính cơ bản) là tiện ích dòng lệnh cung cấp tất cả các tính năng mà bạn mong đợi từ một máy tính khoa học hoặc tài chính đơn giản. Nó đặc biệt hữu ích khi làm toán dấu phẩy động.
Nếu lệnh bc chưa được cài đặt, bạn có thể cài đặt nó bằng cách sử dụng:
$ sudo apt install bc #Debian/Ubuntu $ sudo yum install bc #RHEL/CentOS $ sudo dnf install bc #Fedora 22+
Sau khi cài đặt, bạn có thể chạy nó ở chế độ tương tác hoặc không tương tác bằng cách chuyển đối số cho nó - chúng ta sẽ xem xét cả hai trường hợp. Để chạy nó một cách tương tác, hãy gõ lệnh bc trên dấu nhắc lệnh và bắt đầu thực hiện một số phép toán như minh họa.
$ bc
Bắt đầu bc ở Chế độ không tương tác Các ví dụ sau đây cho thấy cách sử dụng bc không tương tác trên dòng lệnh.
$ echo '3+5' | bc $ echo '15 % 2' | bc $ echo '15 / 2' | bc $ echo '(6 * 2) - 5' | bc
Làm toán bằng bc trong Linux
-l cờ được sử dụng theo tỷ lệ mặc định (các chữ số sau dấu thập phân) đến 20 , ví dụ:
$ echo '12/5 | bc' $ echo '12/5 | bc -l'
Làm toán với số nổi 4. Sử dụng lệnh Awk
Awk là một trong những chương trình xử lý văn bản nổi bật nhất trong GNU/Linux. Nó hỗ trợ các toán tử số học cộng, trừ, nhân, chia và mô đun. Nó cũng hữu ích để làm toán dấu phẩy động.
Bạn có thể sử dụng nó để làm các phép toán cơ bản như hình.
$ awk 'BEGIN { a = 6; b = 2; print "(a + b) = ", (a + b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a - b) = ", (a - b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a * b) = ", (a * b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a / b) = ", (a / b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a % b) = ", (a % b) }'
Làm toán cơ bản bằng lệnh Awk Nếu bạn chưa quen với Awk , chúng tôi có một loạt hướng dẫn đầy đủ để giúp bạn bắt đầu tìm hiểu:Tìm hiểu Công cụ xử lý văn bản Awk.
5. Sử dụng lệnh hệ số
Lệnh nhân tố được sử dụng để phân tách một số nguyên thành thừa số nguyên tố. Ví dụ:
$ factor 10 $ factor 127 $ factor 222 $ factor 110
Phân tích một số trong Linux Thế thôi! Trong bài viết này, chúng tôi đã giải thích nhiều cách hữu ích khác nhau để thực hiện số học trong thiết bị đầu cuối Linux. Vui lòng đặt bất kỳ câu hỏi nào hoặc chia sẻ suy nghĩ của bạn về bài viết này thông qua biểu mẫu phản hồi bên dưới.