count in hex

Posted on 2009-05-19
Medium Priority
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$ ./create-map.sh 0xC1
./create-map.sh[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
  • 3
  • 3
LVL 68

Expert Comment

ID: 24421931
How about 16#C1  ?
LVL 68

Accepted Solution

woolmilkporc earned 2000 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!
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

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

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

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…
Why Shell Scripting? Shell scripting is a powerful method of accessing UNIX systems and it is very flexible. Shell scripts are required when we want to execute a sequence of commands in Unix flavored operating systems. “Shell” is the command line i…
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

607 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