Satu-satunya kalkulator yang saya tahu adalah bc
. Saya ingin menambahkan 1
ke variabel, dan output ke variabel lain.
Saya mendapatkan nextnum
variabel dari penghitungan string dalam file:
nextnum=`grep -o stringtocount file.tpl.php | wc -w`
Katakanlah nextnum
nilainya 1
. Ketika ditambahkan dengan 1
, itu akan menjadi 2
. Untuk menghitung, saya menjalankan:
rownum=`$nextnum+1 | bc`
tapi ada kesalahan:
1+1: command not found
Saya baru saja gagal di bagian perhitungan. Saya sudah mencoba mengubah backtick tetapi tetap tidak berhasil. Saya tidak tahu bagaimana cara menghitung variabel dan output ke variabel lain.
shell
arithmetic
bc
calculator
apasajja
sumber
sumber
Jawaban:
Substring di dalam
` `
harus berupa perintah yang valid itu sendiri:Tetapi lebih baik menggunakan
$( )
daripada` `
:Tetapi tidak perlu
bc
, shell dapat melakukan aritmatika integer :Atau bahkan lebih sederhana di
bash
danksh
:sumber
Anda juga dapat menggunakan aritmatika bawaan di bash:
yang akan menjadi sedikit lebih cepat.
sumber
Benar-benar benar dan melengkapi solusi yang disarankan, hanya untuk menyebutkan cara itu harus dilakukan di masa lalu ketika hanya Bourne-Shell yang tersedia, itulah cara yang disukai:
sumber
Saya akan menggunakan (seperti yang disebutkan sebelumnya)
rownum=$((nextnum+1))
atau((rownum=nextnum+1))
tetapi jika Anda lebih suka perintah standar Anda dapat menggunakan perintah let, sepertilet rownum=$nextnum+1
sumber
let
"perintah standar" sangat menyesatkan.$((…))
adalah sintaks standar (POSIX) sedangkanlet
ekstensi adalah ksh (dan bash, zsh).