Tôi đã tìm kiếm một cách để chuyển đổi thập lục phân thông qua dòng lệnh và thấy có một phương pháp rất dễ dàng echo $((0x63))
.
Nó hoạt động rất tốt nhưng tôi hơi bối rối về những gì đang xảy ra ở đây.
Tôi biết $(...)
bình thường là một vỏ con, trong đó các nội dung được đánh giá trước lệnh ngoài.
Nó vẫn là một vỏ phụ trong tình huống này? Tôi nghĩ không phải như vậy có nghĩa là lớp vỏ phụ chỉ đang đánh giá (0x63)
đó không phải là một lệnh.
Ai đó có thể phá vỡ lệnh cho tôi?
$((...))
xung đột với thay thế lệnh, người ta phải nhớ viếtecho "$( (echo x; echo y) | tr xy yx)"
thay vìecho "$((echo x; echo y) | tr xy yx)"
(mặc dù một số shell vẫn sẽ chấp nhận cái sau, YMMV).