bash help setting variables
rgheck
rgheck at comcast.net
Sat Oct 17 22:30:11 UTC 2009
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
More information about the fedora-list
mailing list