Perintah expr dan calc: Selesaikan ungkapan matematik di terminal

Saya adalah salah seorang yang selalu memprogram skrip menampar untuk menyelesaikan situasi sehari-hari (memecahkan kata laluan AP / Router, mengautomasikan proses, dll.).

Pada kesempatan-kesempatan tertentu saya telah melihat keperluan untuk menetapkan nilai ungkapan matematik kepada pemboleh ubah, atau hanya bekerja dengan ungkapan matematik, di sana saya menghadapi masalah bahawa ungkapan bash dan matematik, pengiraan tidak begitu mesra. Ia berlaku bahawa bash tidak seperti ular sawa, apa yang boleh kita katakan pemboleh ubah = 1 + 5/6 (contohnya), di Bash kita mesti menggunakan perintah expr o Kerak

Perintah expr

Dengan kata lain, perintah expr membantu kita menyelesaikan ungkapan matematik di terminal, dengan itu kita dapat mengira apa yang kita perlukan. Sebagai contoh, jika kita mahu hasil 1 + 2 * 8/3 muncul, kita masukkan ke terminal:

expr 1 + 2 \* 8 / 3

Perhatikan bahawa sebelum tanda bintang * Saya meletakkan garis miring terbalik - »\ ... perlu, kerana expr tidak menafsirkan tanda bintang sebagai simbol pendaraban melainkan \

Dan hasilnya akan muncul di skrin. Berikut adalah tangkapan skrin dengan beberapa contoh:

tangkapan skrin_expr1

Seperti yang anda lihat dalam pengiraan akhir (14/4 dan 13/4), 14 dibahagi dengan 4 sebenarnya 3.5 dan 13 dibahagi dengan 4 sebenarnya 3.25, jadi bagaimana mungkin ia menunjukkan kita 3 dalam kedua-dua kes itu? Apa yang berlaku adalah bahawa perintah expr tidak menunjukkan perpuluhan kepada kita, iaitu, apa yang diikuti selepas koma, ia tidak menunjukkannya, hanya menunjukkan bilangan bulat kepada kita.

Sekiranya kita ingin memberikan kepada pemboleh ubah hasil ungkapan matematik (Cth: 10/2), seperti ini:

variable=`expr 10 / 2`

Kemudian kami memeriksanya dengan:

echo $variable

Adalah penting bahawa terdapat ruang antara setiap watak, iaitu ruang antara setiap nombor, setiap penambahan, pengurangan, pendaraban atau simbol pembahagian

Perintah calc

Yang ini, tidak seperti yang sebelumnya, tepat dari segi perpuluhan, contoh:

calc 15 / 4

Ini akan menunjukkan kepada kita: 3.75

Berikut adalah tangkapan skrin dengan beberapa contoh:

tangkapan skrin_calc

Tidak seperti expr, ketika kita menggunakan calc, lebih baik tidak ada ruang antara setiap watak, iaitu bahawa tidak ada jarak antara angka dan simbol, seperti yang anda lihat pada gambar sebelumnya. Mereka juga tidak perlu mempersiapkan \ sebelum *

Inilah asasnya yang ingin saya ceritakan.

Walau bagaimanapun, masih ada beberapa petua menarik lain untuk setiap arahan (terutama calc), saya mengesyorkan agar anda membaca manual:

man calc

man expr

salam


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   meriah kata

    Sangat berguna, walaupun pastinya tidak bagus untuk menggunakan Bash untuk pengiraan matematik, jumlah perpuluhan :)

    1.    Wada kata

      Mr elav kita masih mempunyai kalkulator bash 🙂 kita boleh menggunakan argumen -l untuk menggunakan perpustakaan matematik standard
      sesuatu seperti itu

      $ echo "(4/8)+(6/9)" | bc -l
      1.166666666666666666666666

      ha

      1.    meriah kata

        ????

      2.    eliotime3000 kata

        Cemerlang. Dengan cara ini saya mengelakkan kerumitan memasang XCalc ketika menggunakan X11 tulen.

      3.    KZKG ^ Gaara kata

        Oh saya tidak tahu yang ini, hebat !!

  2.   clow_eriol kata

    Terima kasih, ia cukup berguna 😉

    1.    KZKG ^ Gaara kata

      Terima kasih ^ _ ^

  3.   Noctuid kata

    Terima kasih. Kalkulator sistem telah menjadi pesaing untuk operasi asas.

    1.    KZKG ^ Gaara kata

      Terima kasih kepada anda kerana membaca kami 🙂

  4.   Joaquin kata

    Petua baik!

  5.   Pedro lala kata

    Saya tidak menyukainya