Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

count in hex

Posted on 2009-05-19
6
Medium Priority
?
685 Views
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.
#!/usr/bin/ksh
# script to create EMC mappings
 
# set lun to hex
LUNID=$1
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
        ((LUNID=LUNID+1))
        echo "LUNID is: ${LUNID#16#}"
done

Open in new window

0
Comment
Question by:Rowley
[X]
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
6 Comments
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 24421931
How about 16#C1  ?
wmp
 
0
 
LVL 68

Accepted Solution

by:
woolmilkporc earned 2000 total points
ID: 24422024
... or use in your script
LUNID=16#$1
and give only C1 as the argument.
0
 
LVL 13

Author Comment

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

let LUNID=LUNID+16#$INI

Which seemed to do the trick. I'll try the other suggestions later. Cheers!
0
Independent Software Vendors: 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

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

Expert Comment

by:woolmilkporc
ID: 24422954
Well,
what do you mean with 'base value'?
If the goal was to remove the '16#' part, that's what you already did -
${LUNID#16#}
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
0
 
LVL 13

Author Comment

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

heh...

thanks.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

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 (http://www.experts-exchange.com/OS/Unix/BSD/FreeBSD/A_3660-S…
Using libpcap/Jpcap to capture and send packets on Solaris version (10/11) Library used: 1.      Libpcap (http://www.tcpdump.org) Version 1.2 2.      Jpcap(http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/index.html) Version 0.6 Prerequisite: 1.      GCC …
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…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…
Suggested Courses

705 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