LDP/LDP/guide/docbook/abs-guide/hexconvert.sh

32 lines
602 B
Bash

#!/bin/bash
# hexconvert.sh: Convert a decimal number to hexadecimal.
E_NOARGS=85 # Command-line arg missing.
BASE=16 # Hexadecimal.
if [ -z "$1" ]
then # Need a command-line argument.
echo "Usage: $0 number"
exit $E_NOARGS
fi # Exercise: add argument validity checking.
hexcvt ()
{
if [ -z "$1" ]
then
echo 0
return # "Return" 0 if no arg passed to function.
fi
echo ""$1" "$BASE" o p" | dc
# o sets radix (numerical base) of output.
# p prints the top of stack.
# For other options: 'man dc' ...
return
}
hexcvt "$1"
exit