Adakah yang bisa menjelaskan kepada saya mengapa angka dengan angka 0 memberi perilaku lucu ini?
#!/bin/bash
NUM=016
SUM=$((NUM + 1))
echo "$NUM + 1 = $SUM"
Akan dicetak:
016 + 1 = 15
@ Squeezy Terima kasih, tetapi bagian itu sudah berfungsi. Masalah sebenarnya adalah tidak mendapatkan nama file dengan awalan 0. Itu mencari tahu nama file dengan angka tertinggi dan kemudian membuat urutan berikutnya, dengan menggunakan printf "prefix-% 03d.tif" $ SUM.
—
DeltaLima
Perhatikan bahwa Anda bisa mengetahuinya sendiri hanya dengan melakukan
—
Mehrdad
echo $((016))
FYI, ini benar dalam banyak bahasa pemrograman: C, C ++, Javascript.
—
Paul Draper
printf "%03d\n" 10
sepenuhnya dapat digunakan dalam bash untuk mendapatkan nol di depan untuk nama file dan semacamnya.