OT: scripting help - can you check a string for starts with?
Tony Nelson
tonynelson at georgeanelson.com
Wed Dec 19 15:06:32 UTC 2007
At 3:58 PM +0900 12/19/07, John Summerfield wrote:
>Tony Nelson wrote:
>> At 8:48 PM -0500 12/18/07, James Pifer wrote:
>>> Need a bit of scripting help. I have a very small script with a case
>>> statement. The object of the case statement is derived from the
>>> dmidecode command to determine the type of machine it is, if possible.
>>> It works fine, but we're finding that a lot of the HP type machines
>>> respond with a model number plus other information. For example, we
>>> might get these two:
>>>
>>> HP Compaq dc7700 30GB6000
>>> HP Compaq dc7700 60GB6000
>Here's a real one.
>Product Name: HP Compaq dc7700 Small Form Factor
>
>>>
>>> Those are completely made up, the point being that we want to match on
>>> just "HP Compaq dc7700" and forget the rest.
>> ...
>>
>> case $printername in
>> "HP Compaq dc7700"*) echo "found $printername" ;;
>> esac
>
><chortle>
>
>the example's fine, but read again what he's looking at:-)
Yes, so? Your "real one" will be found also. If you think what I said
won't work, give a counterexample. Perhaps you don't want to nest two case
statements, one for "Produce Name:" and the other for the specific
products? It's not really needed, as the match strings could all start
with "Product Name:"*.
case $line in
"Product Name:"*)
case $line in
*"HP Compaq dc7700"*) echo "found $printername" ;;
esac ;;
esac
--
____________________________________________________________________
TonyN.:' <mailto:tonynelson at georgeanelson.com>
' <http://www.georgeanelson.com/>
More information about the users
mailing list