On 10/17/2009 02:58 PM, Donald Russell wrote:
I'm trying to write a bash script which makes an inquiry to an http
service that replies with a series of keyword=value plain text data,
one pair per line.
I want to extract only a few of the lines, and make variables of them
available to rest of my bash script.

I have this so far, and it works fine in terms of selecting the
correct data items... but how can I get them into $1 $2, or other
symbolic names?


You can use bash variable matching. I'll suppose we know that $data is something like:
    key1=value1 key2=value2 key3=value3
where the pairs are separated by whitespace of some kind. If not, then set IFS and make sure the pairs are separated by that.

Then:
    for pair in $data; do
        key=${pair%%=*};
        val=${pair#*=};
        ...now do something with $key and $val...
    done
It'll be more complicated if there's whitespace in the values, but you get the idea.

See: http://www.linuxjournal.com/article/8919.

Richard

--
fedora-list mailing list
[email protected]
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines

Reply via email to