Ai đó có thể giải thích cho tôi tại sao một số có số 0 đứng đầu đưa ra hành vi hài hước này không?
#!/bin/bash
NUM=016
SUM=$((NUM + 1))
echo "$NUM + 1 = $SUM"
Sẽ in:
016 + 1 = 15
@Squeezy Cảm ơn, nhưng phần đó đã hoạt động. Vấn đề thực tế là không có được tên tệp với số 0. Nó đang tìm ra tên tệp nào có số cao nhất và sau đó tạo chuỗi tiếp theo, bằng cách sử dụng printf "prefix-% 03d.tif" $ SUM.
—
DeltaLima
Lưu ý rằng bạn có thể tự mình tìm ra điều này chỉ bằng cách thực hiện
—
Mehrdad
echo $((016))
FYI, điều này đúng trong nhiều ngôn ngữ lập trình: C, C ++, Javascript.
—
Paul Draper
printf "%03d\n" 10
hoàn toàn có thể sử dụng trong bash để có được số 0 đứng đầu cho tên tệp và như vậy.