Rumah >Tutorial sistem >LINUX >Cara membahagikan dua pembolehubah dalam skrip bash

Cara membahagikan dua pembolehubah dalam skrip bash

William Shakespeare
William Shakespeareasal
2025-03-07 11:20:12430semak imbas

How to Divide Two Variables in Bash Scripting

Operasi pembahagian dalam skrip bash: Mengendalikan integer dan nombor titik terapung dengan cekap

skrip bash adalah alat yang berkuasa untuk mengautomasikan tugas pada sistem Linux dan UNIX. Walaupun ia dikenali untuk operasi fail dan proses, operasi aritmetik seperti bahagian juga memainkan peranan penting dalam banyak skrip. Memahami bagaimana untuk membahagikan dengan betul oleh dua pembolehubah boleh membantu dengan peruntukan sumber, pemprosesan data, dan banyak lagi. Artikel ini meneroka kehalusan pembahagian prestasi di Bash, memberikan anda pengetahuan untuk melakukan operasi aritmetik dengan lancar dan cekap.

konsep asas

Pembolehubah dalam bash Dalam bash, pembolehubah adalah nama yang diberikan kepada sekeping data yang boleh diubah semasa pelaksanaan skrip. Pembolehubah sering digunakan untuk menyimpan nombor, rentetan, atau nama fail, dan data ini dapat dimanipulasi untuk melaksanakan pelbagai operasi. Gambaran keseluruhan operasi aritmetik

BASH menyokong operasi aritmetik asas secara langsung atau melalui utiliti luaran. Operasi ini termasuk penambahan, penolakan, pendaraban, dan pembahagian. Walau bagaimanapun, Bash sendiri melakukan aritmetik integer, yang bermaksud ia hanya boleh mengendalikan integer tanpa perpuluhan, kecuali menggunakan alat lain.

Pengenalan kepada arahan aritmetik

Terdapat dua kaedah utama untuk melakukan operasi aritmetik di bash:

expr:
    utiliti luaran yang menilai ekspresi, termasuk pengiraan aritmetik.
  • Extension aritmetik $ (()):
  • Fungsi bash yang membolehkan operasi aritmetik langsung dalam skrip.
  • Menetapkan skrip

Buat fail skrip bash

untuk memulakan skrip menulis, buat fail dengan lanjutan .sh menggunakan editor teks seperti Nano atau Vim. Contohnya:

Buat skrip boleh dilaksanakan

Selepas menulis skrip, anda perlu menggunakan perintah chmod untuk menjadikannya boleh dilaksanakan: nano myscript.sh

sintaks asas

skrip bash biasanya bermula dengan shebang (#!) Diikuti dengan jalan ke penterjemah bash:

chmod x myscript.sh

mengisytiharkan pembolehubah

#!/bin/bash # 你的脚本从这里开始 Tugasan

Untuk mengisytiharkan dan memberikan nilai kepada pembolehubah dalam bash, gunakan sintaks berikut:

Pembolehubah ini kini boleh digunakan dalam operasi aritmetik.

Melaksanakan bahagian

var1=10 var2=5

Gunakan perintah expr

expr untuk menggunakan:

output hasil VAR1 dibahagikan dengan VAR2.

Bahagian Integer Latihan

result=$(expr $var1 / $var2) echo "结果是 $result" kerana expr hanya menyokong aritmetik integer, membahagikan dua integer yang tidak dapat dibahagikan akan menyebabkan bahagian pecahan dipotong.

Gunakan pelanjutan aritmetik $ (())

lanjutan aritmetik membolehkan sintaks yang lebih mudah dan integrasi skrip langsung:

Kaedah ini lebih mudah dan tidak menghasilkan proses luaran, jadi lebih cepat daripada expr.

Pemprosesan hasil bukan integer

Cabaran Bahagian Titik Terapung Bash sendiri tidak menyokong aritmetik titik terapung, yang merumitkan pembahagian yang membawa kepada nilai-nilai bukan integral.

Penyelesaian untuk Bahagian Titik Terapung Untuk mengendalikan bahagian titik terapung, anda boleh menggunakan alat BC, yang merupakan bahasa kalkulator ketepatan sewenang -wenang:

result=$(echo "$var1 / $var2" | bc -l) echo "结果是 $result"

Perintah ini menghantar operasi pembahagian ke BC, yang memproses aritmetik titik terapung dan mengembalikan hasilnya.

perangkap dan ralat biasa

dibahagikan dengan sifar cuba membahagikan sifar akan menyebabkan ralat skrip. Sebelum membuat bahagian, pastikan anda menyemak sama ada penyebutnya adalah sifar:

if [ $var2 -eq 0 ]; then echo "错误:被零除。" else result=$(($var1 / $var2)) echo "结果是 $result" fi

memproses input bukan digital Pastikan input adalah digital untuk mengelakkan kesilapan runtime:

if ! [[ "$var1" =~ ^[0-9] $ ]] || ! [[ "$var2" =~ ^[0-9] $ ]]; then echo "错误:非数字输入。" else result=$(($var1 / $var2)) echo "结果是 $result" fi

Contoh praktikal

skrip interaktif digunakan untuk input pengguna Buat skrip yang menerima input pengguna dan melakukan pembahagian:

#!/bin/bash echo "输入两个数字:" read var1 var2 if [[ "$var2" -eq 0 ]]; then echo "不能被零除。" else result=$(echo "$var1 / $var2" | bc -l) echo "除法结果:$result" fi

Kesimpulan

Artikel ini memperkenalkan perkara utama pembahagian prestasi dalam skrip bash, dari operasi integer untuk memproses nombor titik terapung. Dengan memahami prinsip -prinsip ini, anda dapat meningkatkan fungsi skrip anda dan melakukan pengiraan kompleks dengan mudah. Cuba gunakan teknik ini untuk meningkatkan kemahiran skrip anda dan menyelesaikan masalah yang lebih maju.

Atas ialah kandungan terperinci Cara membahagikan dua pembolehubah dalam skrip bash. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn