मैं कमांड लाइन के माध्यम से हेक्साडेसिमल को बदलने का एक तरीका खोज रहा था और पाया कि एक बहुत आसान तरीका है echo $((0x63))।
यह बहुत अच्छा काम कर रहा है लेकिन मैं थोड़ा भ्रमित हूं कि यहां क्या हो रहा है।
मुझे पता $(...)है कि आम तौर पर एक उप-शेल होता है, जहां बाहरी कमांड से पहले सामग्री का मूल्यांकन किया जाता है।
क्या यह अभी भी इस स्थिति में एक उप-शेल है? मैं नहीं सोच रहा हूं कि इसका मतलब यह होगा कि उप-शेल सिर्फ मूल्यांकन (0x63)कर रहा है जो एक कमांड नहीं है।
क्या कोई मेरे लिए आज्ञा तोड़ सकता है?
$((...))कमांड प्रतिस्थापन के साथ संघर्ष, किसी कोecho "$( (echo x; echo y) | tr xy yx)"इसके बजाय लिखना याद रखना पड़ता हैecho "$((echo x; echo y) | tr xy yx)"(भले ही कुछ गोले अभी भी बाद वाले को स्वीकार करेंगे, वाईएमएमवी)।