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
  • 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!
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

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

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

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

Suggested Solutions

I promised to write further about my project, and here I am.  First, I needed to setup the Primary Server.  You can read how in this article: Setup FreeBSD Server with full HDD encryption (…
Every server (virtual or physical) needs a console: and the console can be provided through hardware directly connected, software for remote connections, local connections, through a KVM, etc. This document explains the different types of consol…
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 find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:

808 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