Xmessage utility 2005-12-02 - By Garrick Staples
Back On Fri, Dec 02, 2005 at 03:01:48PM -0400, Shaw, Marco alleged: > > >I thought I read the man page correctly, and something like > > >this would work, but it doesn't: > > > > > ># xmessage -print -buttons "Dave's laptop:IP1" test > > > > > > > > The man page says that what follow the : is used as an exit > > value, so, > > for example > > > > xmessage -print -buttons "Dave's laptop:101,Jim's laptop:102" test > > >/dev/null > > case $? in > > 100) echo Hello Dave ;; > > 101) echo Hello Jim;; > > *) echo Who Are You? > > esac > > Thanks, that works great... My next problem is that the values > would actually be more like: > > xmessage -print -buttons "Dave's laptop:22.22.22.22" test > > The exit value will actually be an IP address. When I run the above > the exit value will always show as "22", and not "22.22.22.22". > > I may have to rely on some kind of mapping table unless you guys > have any other ideas?
Yes, that's why I started with "You want the exit values" :)
Remember that the exit value of a program is always an integer, not a string.
Here's an example for your script.
#!/bin/bash
labels[0]="Dave's laptop" labels[1]="Garrick's laptop" labels[2]="That weird guy's laptop" labels[3]="Boss's Etch-A-Sketch" IPs[0]="10.10.10.1" IPs[1]="10.10.10.2" IPs[2]="10.10.10.3" IPs[3]="127.0.0.1"
buttonstr=$(IFS=,; echo "${labels[*]}") xmessage -buttons "$buttonstr,Cancel" "where am ?" choice=$(($?-101))
if [ $choice -lt 0 -o $choice -ge ${#IPs[*]} ];then echo "Cancelled!" exit 1 fi
echo ${IPs[$choice]}
-- Garrick Staples, Linux/HPCC Administrator University of Southern California
-- Taroon-list mailing list Taroon-list@(protected) https://www.redhat.com/mailman/listinfo/taroon-list
|
|