GNU/Linux >> Belajar Linux >  >> Linux

Dapatkan bilangan bulat langit-langit dari angka di linux (BASH)

Panggil ke bahasa scripting dengan fungsi ceil. Diberikan $NUMBER :

python -c "from math import ceil; print ceil($NUMBER/500.0)"

atau

perl -w -e "use POSIX; print ceil($NUMBER/500.0), qq{\n}"

Mengapa menggunakan bahasa skrip eksternal? Anda mendapatkan lantai secara default. Untuk mendapatkan ceil, lakukan

$ divide=8; by=3; (( result=(divide+by-1)/by )); echo $result
3
$ divide=9; by=3; (( result=(divide+by-1)/by )); echo $result
3
$ divide=10; by=3; (( result=(divide+by-1)/by )); echo $result
4
$ divide=11; by=3; (( result=(divide+by-1)/by )); echo $result
4
$ divide=12; by=3; (( result=(divide+by-1)/by )); echo $result
4
$ divide=13; by=3; (( result=(divide+by-1)/by )); echo $result
5
....

Untuk memperhitungkan angka negatif, Anda dapat meningkatkannya sedikit. Mungkin cara yang lebih bersih di luar sana tetapi sebagai permulaan

$ divide=-10; by=10; neg=; if [ $divide -lt 0 ]; then (( divide=-divide )); neg=1; fi; (( result=(divide+by-1)/by )); if [ $neg ]; then (( result=-result )); fi; echo $result
-1

$ divide=10; by=10; neg=; if [ $divide -lt 0 ]; then (( divide=-divide )); neg=1; fi; (( result=(divide+by-1)/by )); if [ $neg ]; then (( result=-result )); fi; echo $result
1

(Diedit untuk mengalihkan let ... ke (( ... )) .)


Linux
  1. Dapatkan Jalur Lengkap Dari Dalam Skrip Bash?

  2. Linux – Ubah Jumlah Partisi Dari Sda1 Ke Sda2?

  3. Bagaimana cara mendapatkan jumlah CPU di Linux menggunakan C?

  1. Bagaimana saya bisa mendapatkan nilai unik dari array di Bash?

  2. Dapatkan tanggal kemarin di bash di Linux, DST-safe

  3. Bagaimana cara mendapatkan nama host dari IP (Linux)?

  1. bagaimana cara mendapatkan elemen dari daftar di bash?

  2. Bagaimana cara mendapatkan netmask dari bash?

  3. Buat daftar semua database MongoDB dari terminal bash Linux