Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

Master Linux Terminal Arithmetic:5 เทคนิคสำคัญ

ในบทความนี้ เราจะแสดงวิธีที่มีประโยชน์ต่างๆ ในการทำเลขคณิตในเทอร์มินัล Linux ในตอนท้ายของบทความนี้ คุณจะได้เรียนรู้วิธีการคำนวณทางคณิตศาสตร์ขั้นพื้นฐานในทางปฏิบัติที่แตกต่างกันในบรรทัดคำสั่ง

มาเริ่มกันเลย!

1. การใช้ Bash Shell

วิธีแรกและง่ายที่สุดในการคำนวณทางคณิตศาสตร์พื้นฐานบน Linux CLI คือการใช้วงเล็บคู่ นี่คือตัวอย่างบางส่วนที่เราใช้ค่าที่เก็บไว้ในตัวแปร:

$ 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
Master Linux Terminal Arithmetic:5 เทคนิคสำคัญ เลขคณิตใน Linux Bash Shell

2. การใช้คำสั่ง expr

คำสั่ง expr ประเมินนิพจน์และพิมพ์ค่าของนิพจน์ที่ระบุไปยังเอาต์พุตมาตรฐาน เราจะดูวิธีต่างๆ ในการใช้ expr สำหรับการคำนวณทางคณิตศาสตร์อย่างง่าย การเปรียบเทียบ การเพิ่มค่าของตัวแปร และการค้นหาความยาวของสตริง

ต่อไปนี้เป็นตัวอย่างของการคำนวณอย่างง่ายโดยใช้ คำสั่ง expr . โปรดทราบว่าโอเปอเรเตอร์จำนวนมากจำเป็นต้องหลีกหรือเสนอราคาสำหรับเชลล์ เช่น 07 โอเปอเรเตอร์ (เราจะดูเพิ่มเติมภายใต้การเปรียบเทียบนิพจน์)

$ expr 3 + 5
$ expr 15 % 3
$ expr 5 \* 3
$ expr 5 – 3
$ expr 20 / 4
Master Linux Terminal Arithmetic:5 เทคนิคสำคัญ เลขคณิตพื้นฐานโดยใช้คำสั่ง expr ใน Linux

ต่อไปเราจะกล่าวถึงวิธีการเปรียบเทียบ เมื่อนิพจน์ประเมินเป็นเท็จ expr จะพิมพ์ค่า 0 ไม่เช่นนั้นจะพิมพ์ 1 .

ลองดูตัวอย่างบางส่วน:

$ expr 5 = 3
$ expr 5 = 5
$ expr 8 != 5
$ expr 8 \> 5
$ expr 8 \< 5
$ expr 8 \<= 5
Master Linux Terminal Arithmetic:5 เทคนิคสำคัญ การเปรียบเทียบนิพจน์ทางคณิตศาสตร์ใน Linux

คุณยังสามารถใช้ expr ได้ด้วย คำสั่งเพิ่มค่าของตัวแปร ดูตัวอย่างต่อไปนี้ (ในทำนองเดียวกัน คุณสามารถลดค่าของตัวแปรได้ด้วย)

$ NUM=$(( 1 + 2))
$ echo $NUM
$ NUM=$(expr $NUM + 2)
$ echo $NUM
Master Linux Terminal Arithmetic:5 เทคนิคสำคัญ ค่าที่เพิ่มขึ้นของตัวแปร

เรามาดูวิธีการค้นหาความยาวของสตริงโดยใช้:

$ expr length "This is Tecmint.com"
Master Linux Terminal Arithmetic:5 เทคนิคสำคัญ ค้นหาความยาวของสตริง

สำหรับข้อมูลเพิ่มเติมโดยเฉพาะเกี่ยวกับความหมายของตัวดำเนินการข้างต้น โปรดดูที่ expr หน้าคน:

$ man expr

3. การใช้คำสั่ง bc

bc (เครื่องคิดเลขขั้นพื้นฐาน) เป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งที่ให้คุณสมบัติทั้งหมดที่คุณคาดหวังจากเครื่องคิดเลขทางวิทยาศาสตร์หรือการเงินอย่างง่าย มันมีประโยชน์โดยเฉพาะสำหรับการคำนวณจุดลอยตัว

หาก คำสั่ง bc ไม่ได้ติดตั้ง คุณสามารถติดตั้งได้โดยใช้:

$ sudo apt install bc #Debian/Ubuntu
$ sudo yum install bc #RHEL/CentOS
$ sudo dnf install bc #Fedora 22+

เมื่อติดตั้งแล้ว คุณสามารถรันในโหมดโต้ตอบหรือไม่โต้ตอบได้โดยส่งอาร์กิวเมนต์ไปให้ เราจะพิจารณาทั้งสองกรณี หากต้องการเรียกใช้แบบโต้ตอบ ให้พิมพ์คำสั่ง bc บน command prompt และเริ่มคำนวณตามที่แสดง

$ bc 
Master Linux Terminal Arithmetic:5 เทคนิคสำคัญ เริ่ม bc ในโหมดที่ไม่โต้ตอบ

ตัวอย่างต่อไปนี้แสดงวิธีใช้ bc ไม่มีการโต้ตอบบนบรรทัดคำสั่ง

$ echo '3+5' | bc
$ echo '15 % 2' | bc
$ echo '15 / 2' | bc
$ echo '(6 * 2) - 5' | bc
Master Linux Terminal Arithmetic:5 เทคนิคสำคัญ ทำคณิตศาสตร์โดยใช้ bc ใน Linux

10 ธงถูกใช้เป็นมาตราส่วนเริ่มต้น (ตัวเลขหลังจุดทศนิยม) ถึง 20 ตัวอย่างเช่น:

$ echo '12/5 | bc'
$ echo '12/5 | bc -l'
Master Linux Terminal Arithmetic:5 เทคนิคสำคัญ ทำคณิตศาสตร์ด้วยตัวเลขลอยตัว

4. การใช้คำสั่ง Awk

Awk เป็นหนึ่งในโปรแกรมประมวลผลข้อความที่โดดเด่นที่สุดใน GNU/Linux รองรับการบวก ลบ คูณ หาร และตัวดำเนินการทางคณิตศาสตร์แบบโมดูลัส นอกจากนี้ยังมีประโยชน์สำหรับการคำนวณจุดลอยตัวอีกด้วย

คุณสามารถใช้มันเพื่อทำคณิตศาสตร์พื้นฐานตามที่แสดง

$ 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) }'
Master Linux Terminal Arithmetic:5 เทคนิคสำคัญ ทำคณิตศาสตร์พื้นฐานโดยใช้คำสั่ง Awk

หากคุณยังใหม่กับ Awk เรามีชุดคำแนะนำที่ครบถ้วนเพื่อช่วยให้คุณเริ่มต้นการเรียนรู้ได้:เรียนรู้เครื่องมือประมวลผลข้อความ Awk

5. การใช้คำสั่งปัจจัย

คำสั่งปัจจัย ใช้ในการแยกจำนวนเต็มให้เป็นตัวประกอบเฉพาะ ตัวอย่างเช่น:

$ factor 10
$ factor 127
$ factor 222
$ factor 110 
Master Linux Terminal Arithmetic:5 เทคนิคสำคัญ แยกตัวประกอบตัวเลขใน Linux

นั่นคือทั้งหมด! ในบทความนี้ เราได้อธิบายวิธีที่มีประโยชน์ต่างๆ ในการทำเลขคณิตในเทอร์มินัล Linux อย่าลังเลที่จะถามคำถามหรือแบ่งปันความคิดเกี่ยวกับบทความนี้ผ่านแบบฟอร์มคำติชมด้านล่าง