Cara Tambah Pengiraan ke Bash Script
Walaupun Bash adalah bahasa skrip, ia mempunyai hampir semua kemampuan bahasa pengaturcaraan tujuan umum. Ini termasuk fungsi aritmetik. Terdapat beberapa pilihan sintaks yang anda boleh gunakan untuk membangkitkan penilaian aritmetik ungkapan. Mungkin yang paling mudah dibaca adalah arahan yang dibiarkan . Sebagai contoh
biarkan "m = 4 * 1024"akan mengira 4 kali 1024 dan menyerahkan hasilnya kepada pembolehubah "m".
Anda boleh mencetak hasilnya dengan menambah pernyataan echo :
mari "m = 4 * 1024" echo $ mAnda boleh menguji ini dari baris arahan dengan memasukkan kod berikut:
biarkan "m = 4 * 1024"; echo $ mAnda juga boleh membuat fail yang mengandungi arahan Bash, dalam hal ini anda harus menambahkan garis di bagian atas file yang menentukan program yang seharusnya menjalankan kode tersebut. Sebagai contoh:
#! / bin / bash mari "m = 4 * 1024" echo $ mdengan asumsi Bash executable terletak di / bin / bash . Anda juga perlu menetapkan keizinan fail skrip anda supaya dapat dilaksanakan. Dengan mengandaikan nama fail skrip ialah script1.sh , anda boleh menetapkan keizinan untuk membuat fail boleh laku dengan perintah:
chmod 777 script1.shSelepas itu anda boleh melaksanakannya dengan arahan:
./script1.shOperasi aritmetik yang ada adalah serupa dengan bahasa pengaturcaraan standard seperti Java dan C. Selain pendaraban, seperti digambarkan di atas, anda menggunakan penambahan:
biarkan "m = a + 7"atau penolakan:
biarkan "m = a - 7"atau pembahagian:
biarkan "m = a / 2"atau modulo (baki selepas bahagian integer):
biarkan "m = a% 100"Apabila operasi diterapkan kepada pembolehubah yang sama dengan keputusan yang ditetapkan, anda boleh menggunakan pengendali penandaan jangka pendek aritmetik piawai, yang juga disebut sebagai pengendali majikan kompaun. Sebagai contoh, untuk penambahan, kami mempunyai:
biarkan "m + = 15"yang bersamaan dengan "m = m + 15". Untuk penolakan kami ada:
mari "m - = 3"yang bersamaan dengan "m = m - 3". Untuk bahagian kita ada:
mari "m / = 5"yang bersamaan dengan "m = m / 5". Dan untuk modulo, kami mempunyai:
mari "m% = 10"yang bersamaan dengan "m = m% 10".
Di samping itu, anda boleh menggunakan pengendali kenaikan dan penurunan :
biarkan "m ++"bersamaan dengan "m = m + 1". Dan
biarkan "m--"bersamaan dengan "m = m - 1".
Dan kemudian terdapat operator "tanda tanda-colon" ternary, yang mengembalikan salah satu daripada dua nilai bergantung kepada sama ada keadaan yang dinyatakan adalah benar atau palsu. Sebagai contoh
mari "k = (m <9)? 0: 1"Sisi kanan pernyataan tugasan ini mengevaluasi kepada "0" jika variabel "m" kurang dari 9. Jika tidak, ia mengevaluasi ke 1. Ini bermakna pemboleh ubah "k" diberikan "0" jika "m" kurang daripada 9 dan "1" sebaliknya.
Bentuk umum operator mark-colon soalan adalah:
keadaan? nilai-jika-benar: nilai-jika-palsuAritmetik Terapung di Bash
Operator biarkan hanya berfungsi untuk aritmetik integer. Untuk aritmetik terapung yang boleh anda gunakan contohnya kalkulator GNU bc seperti digambarkan dalam contoh ini:
echo "32.0 + 1.4" | bcOperator "paip" "|" lulus ungkapan aritmetik "32.0 + 1.4" ke kalkulator bc, yang mengembalikan nombor sebenar. Arahan echo mencetak hasil kepada output standard.
Sintaks Alternatif untuk Arithmetic
Backticks (petikan tunggal belakang) boleh digunakan untuk menilai ungkapan aritmetik seperti dalam contoh ini:
echo `expr $ m + 18`Ini akan menambahkan 18 kepada nilai pembolehubah "m" dan kemudian mencetak hasilnya.
Untuk menetapkan nilai pengiraan kepada pemboleh ubah anda boleh menggunakan tanda yang sama tanpa ruang di sekelilingnya:
m = `expr $ m + 18`Satu lagi cara untuk menilai ekspresi aritmetik adalah dengan menggunakan tanda kurung berganda. Sebagai contoh:
((m * = 4))Ini akan membangkitkan nilai pemboleh ubah "m".
Selain daripada penilaian aritmetik, shell Bash menyediakan pembinaan pengaturcaraan lain, seperti for-loops , sementara-gelung , syarat , dan fungsi dan subrutin .