2つの異なるシステムに対して2つのクエリが実行されています。それらはそれぞれ1行を返し、1行で出力したいと思います。
クエリの結果が次のようになります。
echo this that and more
echo other great news
次のように並べ替えと書式を設定できるようにしたいです。
echo other this that great news and more
1行の出力を複数の変数に反映する方法を見つけることができれば良いでしょう。私はこれを働かせました:
echo this that and more | while IFS=" ", read a b c
do
echo a=$a b=$b c=$c
done
しかし、while ループを終了すると、変数 ab と c は範囲外になり、もはやその値を持ちません。
答え1
彼らではない範囲外、ksh
(少なくともAT&Tバージョンでは)2回呼び出されbash
ません。read
2番目の試みは失敗し、ループから抜け出します。
その瞬間には何も読み取られなかったので、read
a、b、cを空の文字列に設定します。
ただし:
echo this that and more | IFS=" " read a b c
echo "a=$a b=$b c=$c"
答え2
a=$(echo this...)
b=$(echo other...)
echo -- "$a $b"