我有一个程序,我必须采取一个程序,将开尔文转换为远,反之亦然。我需要输出的帮助,它应该从我放入$ file的数据文件和用户的$ choice中读取并运行c程序文件.farh_kel
while read val
do
ans=`.fahr_kel $choice $val`
echo $line
echo $ans
done < file
我的输出应该看起来像这个
---------------------- -----------------------
0 256
---------------------- -----------------------
32 273
---------------------- -----------------------
100 310
---------------------- -----------------------
212 373
---------------------- -----------------------
108 315
---------------------- -----------------------
1243 945
---------------------- -----------------------
3000 1921
---------------------- -----------------------
853 02
---------------------- -----------------------
22 268
---------------------- -----------------------
2388 1581
---------------------- -----------------------
235 385
---------------------- -----------------------
相反它看起来像这样:
---------------------- -----------------------
0 256
---------------------- -----------------------
32 273
---------------------- -----------------------
100 310
---------------------- -----------------------
212 373
---------------------- -----------------------
108 315
---------------------- -----------------------
1243 945
---------------------- -----------------------
3000 1921
---------------------- -----------------------
85 302
---------------------- -----------------------
22 268
---------------------- -----------------------
2388 1581
---------------------- -----------------------
235 385
---------------------- -----------------------
答案 0 :(得分:2)
引用你的变量以防止shell组合所有空格:
echo "$ans"
或者首先不要将它分配给变量,只需让程序正常打印输出。
while read val
do
echo "$line"
.fahr_kel "$choice" "$val"
done < file
通常,除非您特别希望允许对其内容进行单词拆分和通配符扩展,否则应始终引用变量。