导出变量时,“ export:`=':不是有效的标识符”

时间:2019-02-28 11:11:19

标签: bash variables

我正在尝试读取文件,并针对每一行将第二个参数转换为变量,并将第一个参数存储在该变量中。

我有此代码:

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

1 个答案:

答案 0 :(得分:1)

您可以在分配后分别回显V1和V2,并检查其中是否保存了空格字符?

“导出:`=':不是有效的标识符”  通常在shell尝试将其解释为输出三个名称的请求时出现:10,=和a。 =不是有效的变量名,因此命令失败。