क्या कोई मुझे समझा सकता है कि एक अग्रणी 0 के साथ एक संख्या इस अजीब व्यवहार को क्यों देती है?
#!/bin/bash
NUM=016
SUM=$((NUM + 1))
echo "$NUM + 1 = $SUM"
प्रिंट होगा:
016 + 1 = 15
@Squeezy धन्यवाद, लेकिन वह हिस्सा पहले से ही काम कर रहा था। वास्तविक समस्या एक अग्रणी के साथ एक फ़ाइल नाम नहीं प्राप्त कर रही थी। यह पता लगा रहा था कि फ़ाइल नाम उच्चतम संख्या के साथ क्या था और फिर प्रिंटफ "उपसर्ग-% 03d.tif" $ SUM का उपयोग करके अगला-इन-सीक्वेंस बनाया गया।
—
डेल्टालिमा Delta
ध्यान दें कि आप इस बाहर अपने आप समझ गए होंगे सकता है कि सिर्फ ऐसा करके
—
Mehrdad
echo $((016))
FYI करें, यह कई प्रोग्रामिंग भाषाओं में सच है: C, C ++, Javascript।
—
पॉल ड्रेपर
printf "%03d\n" 10फ़ाइल नाम और इस तरह के लिए एक अग्रणी शून्य प्राप्त करने के लिए बैश में पूरी तरह से प्रयोग करने योग्य है।