2013-05-13 3 views
4

У меня есть десятичное число в Баш оболочки:Как преобразовать десятичное значение в hex в bash?

linux$ A=67 

Как напечатать 67 в шестнадцатеричной в Баш?

+2

Printf в Баше является встроенным, не раскошелиться оболочкой. Я изменил свой ответ, чтобы привести пример, непосредственно задающий переменные, как в вопросе – Vorsprung

ответ

20

В программе Баша:

#!/bin/bash 

decimal1=31 

printf -v result1 "%x" "$decimal1" 

decimal2=33 

printf -v result2 "%x" "$decimal2" 

echo $result1 $decimal1 
echo $result2 $decimal2 

Или непосредственно из Баш оболочки:

[email protected] ~ $ printf '%x\n' 26 
1a 
[email protected] ~ $ echo $((0xAA)) 
170 
[email protected] ~ $ 
+1

+1, и принятие для информации: 'printf в bash является встроенным, он не fork shell.' – MOHAMED

+0

' printf' также часть 'coreutils' -' printf '% x \ n' $ 1' в скрипте оболочки выполняет задание: '/ path/to/script 26' –

Смежные вопросы