count in hex

Posted on 2009-05-19
Last Modified: 2013-12-26
Hi folks,

I need a script to count in hex when passed from $1. I've managed to figure out so much, don't have time to carry on at the moment and could use come help.

If I try and pass a hex value in any format and try to set it from $1 I get:

root@host/export/home/user$ ./ 0xC1
./[7]: 0xC1: bad number

If I leave LUNID as null, it will successfully count from 0. Help appreciated.
# script to create EMC mappings
# set lun to hex
typeset -i16 LUNID
touch /var/tmp/host-lunmap
for dev in `cat /var/tmp/devs-host`; do
        echo "map dev $dev to dir 07C lun=$LUNID" >> /var/tmp/host-lunmap
        echo "map dev $dev to dir 10C lun=$LUNID" >> /var/tmp/host-lunmap
        echo "LUNID is: ${LUNID#16#}"

Open in new window

Question by:Rowley
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
LVL 68

Expert Comment

ID: 24421931
How about 16#C1  ?
LVL 68

Accepted Solution

woolmilkporc earned 500 total points
ID: 24422024
... or use in your script
and give only C1 as the argument.
LVL 13

Author Comment

ID: 24422042
Cool, thanks. I ended up figuring it out anyway as I had some more time to dig. Ended up using:


Which seemed to do the trick. I'll try the other suggestions later. Cheers!
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 13

Author Comment

ID: 24422664
OK...I saw somewhere how to remove the base value from the string, extra brownie points if you could help with that!
LVL 68

Expert Comment

ID: 24422954
what do you mean with 'base value'?
If the goal was to remove the '16#' part, that's what you already did -
From ksh docs -
${variable#pattern}     If the pattern matches the beginning of the variable's value, delete the shortest part that matches and return the rest
LVL 13

Author Comment

ID: 24426848
Ahhh, so I did. Forgot to do the same to the lun=$LUNMAP bit.



Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This tech tip describes how to install the Solaris Operating System from a tape backup that was created using the Solaris flash archive utility. I have used this procedure on the Solaris 8 and 9 OS, and it shoudl also work well on the Solaris 10 rel…
Installing FreeBSD… FreeBSD is a darling of an operating system. The stability and usability make it a clear choice for servers and desktops (for the cunning). Savvy?  The Ports collection makes available every popular FOSS application and packag…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
Suggested Courses

623 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question