echo $((0x63))ผมกำลังมองหาวิธีการแปลงเลขฐานสิบหกผ่านบรรทัดคำสั่งและพบว่ามีวิธีที่ง่ายมาก
มันใช้งานได้ดี แต่ฉันสับสนเล็กน้อยกับสิ่งที่เกิดขึ้นที่นี่
ฉันรู้ว่า$(...)ปกติจะเป็น sub-shell โดยที่เนื้อหาจะถูกประเมินก่อนคำสั่ง outer
มันยังเป็น sub-shell ในสถานการณ์นี้หรือไม่? ฉันไม่คิดว่าจะหมายถึงว่า sub-shell นั้นเพิ่งจะประเมิน(0x63)ว่าไม่ใช่คำสั่ง
บางคนสามารถทำลายคำสั่งให้ฉันได้หรือไม่?
$((...))ความขัดแย้งกับการทดแทนคำสั่งเราต้องจำไว้ว่าต้องเขียนecho "$( (echo x; echo y) | tr xy yx)"แทนecho "$((echo x; echo y) | tr xy yx)"(แม้ว่าเชลล์บางเชลล์จะยังคงยอมรับ YMMV หลัง)