วิธีเพิ่มการคำนวณลงใน Bash Script

สิ่งที่ต้องรู้

  • ใช้ ปล่อย คำสั่งเพื่อสร้างการประเมินทางคณิตศาสตร์ของนิพจน์เช่นin ให้ ม=(4 * 1024).
  • การคำนวณทางคณิตศาสตร์ที่ใช้ได้นั้นคล้ายคลึงกับการดำเนินการในภาษาโปรแกรมมาตรฐาน เช่น Java และ C
  • ตัวดำเนินการ let ใช้ได้กับเลขคณิตจำนวนเต็มเท่านั้น สำหรับเลขทศนิยม ให้ใช้ GNU เครื่องคิดเลข bc.

แม้ว่า Bash จะเป็นภาษาสคริปต์ แต่ก็มีความสามารถส่วนใหญ่ของภาษาโปรแกรมเอนกประสงค์ ซึ่งรวมถึงฟังก์ชันเลขคณิต ต่อไปนี้คือวิธีเพิ่มการคำนวณให้กับสคริปต์ทุบตี

วิธีเพิ่มการคำนวณลงใน Bash Script

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

ให้ ม=(4 * 1024)

จะคำนวณ 4 คูณ 1024 และกำหนดผลลัพธ์ให้กับตัวแปร "m"

คุณสามารถพิมพ์ผลลัพธ์โดยเพิ่ม an เสียงก้อง คำแถลง:

เสียงสะท้อน $m

คุณยังสามารถสร้างไฟล์ที่มีคำสั่ง Bash ได้ ซึ่งในกรณีนี้ คุณควรเพิ่มบรรทัดที่ด้านบนของไฟล์ที่ระบุโปรแกรมที่ควรรันโค้ด ตัวอย่างเช่น:

#! /bin/bash

สมมติว่าโปรแกรมปฏิบัติการ Bash อยู่ใน /bin/bash. คุณต้องตั้งค่าการอนุญาตของไฟล์สคริปต์เพื่อให้สามารถเรียกทำงานได้ สมมติว่าชื่อไฟล์สคริปต์คือ

script1.shคุณสามารถตั้งค่าการอนุญาตเพื่อให้ไฟล์เรียกทำงานได้โดยใช้คำสั่ง:

chmod +x script1.sh

หลังจากนั้นคุณสามารถดำเนินการได้ด้วยการ สั่งการ:

./script1.sh

การดำเนินการเลขคณิตที่มีอยู่นั้นคล้ายคลึงกับการดำเนินการในภาษาโปรแกรมมาตรฐานเช่น Java และ C นอกจากการคูณ ดังที่แสดงไว้ข้างต้น คุณใช้การบวก:

ให้ ม=(5 + 5)

หรือการลบ:

ให้ ม=(10 - 2)

หรือแผนก:

ให้ ม=(10/2)

หรือโมดูโล (ส่วนที่เหลือหลังการหารจำนวนเต็ม):

ให้ ม= (11/2)

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

(( ม+=15 ))

ซึ่งเทียบเท่ากับ "m = m + 15" สำหรับการลบเรามี:

(( ม-=3 ))

ซึ่งเทียบเท่ากับ "m = m - 3" สำหรับแผนกเรามี:

(( ม./=5 ))

ซึ่งเทียบเท่ากับ "m = m / 5" และสำหรับโมดูโล เรามี:

(( m%=10 ))

ซึ่งเทียบเท่ากับ "m = m % 10"

นอกจากนี้ คุณสามารถใช้ เพิ่มขึ้น และ ลดลง ผู้ประกอบการ:

(( ม++ ))

มีค่าเท่ากับ "m = m + 1" และ.

(( NS-- ))

เทียบเท่ากับ "m = m - 1"

เลขทศนิยมใน Bash

NS ปล่อย ตัวดำเนินการใช้ได้กับเลขคณิตจำนวนเต็มเท่านั้น สำหรับเลขทศนิยม คุณสามารถใช้เช่น GNU เครื่องคิดเลข bc ดังแสดงในตัวอย่างนี้:

เสียงสะท้อน 32.0+1.4 | bc

ตัวดำเนินการ "ท่อ" "|" ส่งผ่านนิพจน์เลขคณิต "32.0 + 1.4" ไปยังเครื่องคิดเลข bc ซึ่งจะคืนค่าจำนวนจริง NS เสียงก้อง คำสั่งพิมพ์ผลลัพธ์ไปยังเอาต์พุตมาตรฐาน

ไวยากรณ์ทางเลือกสำหรับเลขคณิต

Backticks (back single quotes) สามารถใช้เพื่อประเมินนิพจน์ทางคณิตศาสตร์ดังในตัวอย่างนี้:

เสียงสะท้อน `expr $m + 18`

นี่จะเพิ่ม 18 ให้กับค่าของตัวแปร "m" แล้วพิมพ์ผลลัพธ์ออกมา

ในการกำหนดค่าการคำนวณให้กับตัวแปร คุณสามารถใช้เครื่องหมายเท่ากับโดยไม่ต้องเว้นวรรค:

m=`expr $m + 18`

อีกวิธีหนึ่งในการประเมินนิพจน์ทางคณิตศาสตร์คือการใช้วงเล็บคู่ ตัวอย่างเช่น:

(( ม.*=4 ))

สิ่งนี้จะเพิ่มค่าของตัวแปร "m" สี่เท่า

นอกจากการประเมินเลขคณิตแล้ว Bash shell ยังมีโครงสร้างการเขียนโปรแกรมอื่นๆ เช่น for-ลูป, ในขณะที่ลูป, เงื่อนไข, และ ฟังก์ชั่นและรูทีนย่อย.