जवाबों:
यह काम करना चाहिए
let x=$x+1
let x=x+1
होना चाहिए let x=$x+1
। यह संभावना है कि यह एक लौट रहा है।
यह काम कर सकता है:
x = `expr $x + 1`
1
कुंजी, कुंजी पर आप के साथ दबाएँ Shift
एक टिल्ड में प्रवेश करने के लिए ( ~
)।
$()
;)
expr
पुराना स्कूल है। यह आपको खोल देता है, एक अनावश्यक प्रक्रिया है। @Bandit के उत्तर में सिंटैक्स अधिक आधुनिक है, और इन-शेल में किया गया है।
@ दस्यु का उत्तर ठीक है, लेकिन मैं इस अंतर को उजागर करना चाहता हूं कि "लेट" और (()) सामान्य शेल सिंटैक्स के लिए करें:
let x++
अभिव्यक्ति को "अंकगणितीय मूल्यांकन" के रूप में मानने के लिए bash (या ksh, या किसी POSIX शेल) का कारण बनता है जिसमें संदर्भित चर को "$" के साथ पूर्ववर्ती करने की आवश्यकता नहीं होती है। (()) का उपयोग करने का एक फायदा यह है कि अन्यथा-विशेष टोकन को उद्धृत या बच जाने की आवश्यकता नहीं है, उदा। गुणन के लिए "*" इस प्रकार है:
(( x = x * 2 ))
मुझे यह वाक्यविन्यास $ ()) से थोड़ा स्पष्ट है जो अभिव्यक्ति के आउटपुट का उपयोग करता है, उदा।
x=$(( x * 2 ))