我正在尝试读取文件,并针对每一行将第二个参数转换为变量,并将第一个参数存储在该变量中。
我有此代码:
while read i
do
V1=$(echo $i |awk '{print $2}')
V2=$(echo $i |awk '{print $1}')
export $V1=$V2
done < test
echo $a
echo $b
echo $c
在工作时,它给了我错误:
“ export:`=':不是有效的标识符”
如果我从导出行中删除$,则代码不起作用(a,b,c没有值)
如何使它正常工作而没有错误? (稍后我确实需要a,b,c变量及其值)
这些是文件内容:
10个
20个月
60 c
答案 0 :(得分:1)
您可以在分配后分别回显V1和V2,并检查其中是否保存了空格字符?
“导出:`=':不是有效的标识符” 通常在shell尝试将其解释为输出三个名称的请求时出现:10,=和a。 =不是有效的变量名,因此命令失败。