10진수에서 16진수로의 변환은 Linux에서는 작동하지만 Unix에서는 작동하지 않습니다.

10진수에서 16진수로의 변환은 Linux에서는 작동하지만 Unix에서는 작동하지 않습니다.

10진수를 16진수로 변환하고 싶습니다. 나는 다음 명령을 사용했습니다.

printf '%X\n' 053698180

이 명령은 Linux 서버에서 매우 잘 작동합니다. 그러나 UNIX에서 시도하면 다음 오류가 발생합니다.

printf: Error converting 053698180
053698180

여기서 무엇이 잘못되었을 수 있습니까?

또한 UNIX와 Linux 모두에서 작동하도록 하기 위해 여기서 수행할 수 있는 가장 작은 수정 사항은 무엇입니까?

답변1

당신은 유닉스와 쉘이 무엇인지 우리에게 말하지 않았습니다. 문제는 숫자를 8진수로 해석하도록 0지시하는 선행 에 있을 수 있지만 printf, 그렇지 않습니다(8자리와 9자리가 있기 때문에).

앞의 0.

관련 정보