Sem bc, essa solução deve ser a melhor (pensei em algo semelhante, mas
estava só com um celular e dirigindo e aà teclar shell fica difÃcil...),
porém o expr é muito lento. Eu trocaria o $(expr $((16#$num)) + 1) por
$((16#$num+1))
Veja:
$ num=ff # 255 em decimal
$ echo $((16#$num+1))
256
Abraços,
Julio
*» Não tem tempo para fazer um curso presencial?*
*» Na sua cidade não tem nenhum bom curso de Linux?*
*» O treinamento está muito caro?*
*O melhor de todos em EAD é http://www.dicas-l.com.br/cursos/psl/
<http://www.dicas-l.com.br/cursos/psl/>*
*Damos treinamento em sua empresa **com certificado*
*e nota fiscal **por **um preço, **no mÃnimo, 50% **abaixo*
*de qualquer curso.*
ââ
Nosso time de instrutores *in company* é formado somente por
â
â
autores
â â
â
de
*Best Sellersâ â*âlaureados âsobre os temas.. P. exemplo:
Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico
Post by ***@yahoo.com.br [shell-script]Caro Andre
Nesse exemplo converto internamente para inteiro e depois com o printif
volto para o haxadecimal após somar mais 1, usando o expr
Se tiver o sed pode usar para formatar a saÃda de novo no formato de um MACAddress.
num=$(echo 12:34:56:78:90:af | tr -d :)
printf "%X\n" $(expr $((16#$num)) + 1) | sed 's/../&:/g;s/:$//'
mas eu preferiria usar o bc se for possÃvel instalar
[]'s
Itamar