আমি কমান্ড লাইনের মাধ্যমে হেক্সাডেসিমাল রূপান্তর করার উপায় অনুসন্ধান করছিলাম এবং খুঁজে পেলাম খুব সহজ একটি পদ্ধতি আছে echo $((0x63))
।
এটি দুর্দান্ত কাজ করছে তবে এখানে কী হচ্ছে তা নিয়ে আমি কিছুটা বিভ্রান্ত।
আমি জানি $(...)
সাধারণত একটি সাব-শেল, যেখানে বিষয়বস্তুগুলি বাইরের কমান্ডের আগে মূল্যায়ন করা হয়।
এটি এখনও এই পরিস্থিতিতে একটি উপ-শেল? আমি ভাবছি না যে এর অর্থ হবে সাব-শেলটি কেবল মূল্যায়ন করছে (0x63)
যা কোন আদেশ নয়।
কেউ কি আমার জন্য আদেশটি ভেঙে দিতে পারে?
$((...))
কমান্ড প্রতিস্থাপনের সাথে দ্বন্দ্বের কারণে , তারecho "$( (echo x; echo y) | tr xy yx)"
পরিবর্তে লিখতে হবেecho "$((echo x; echo y) | tr xy yx)"
(যদিও কিছু শেল এখনও পরবর্তীকৃত, ওয়াইএমএমভি গ্রহণ করবে)।