我正在尝试读取文件,对于每行,将第二个参数变成变量,然后将第一个参数存储在该变量中。
我有此代码:
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
在工作时,它给了我错误:
"导出:`=':不是有效的标识符"
如果我从导出线中删除$,则代码不运行(a,b,c没有值)
如何使它起作用,而没有错误?(我确实需要a,b,c变量及其值以后)
这些是文件内容:
10 a
20 b
60 C
您可以在分配后单独回声V1和V2,并检查是否保存了任何空间字符?
"导出:`=':不是有效的标识符" 通常是在外壳试图将其解释为导出三个名称的请求时出现的:10,= a。=不是有效的变量名称,因此命令失败。