"export:` = ': недопустимый идентификатор "при экспорте переменных - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь прочитать файл и для каждой строки преобразовать второй аргумент в переменную и сохранить первый аргумент в этом переменной.

У меня есть этот код:

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 a
20 b
60 c

1 Ответ

0 голосов
/ 28 февраля 2019

Можете ли вы выводить V1 и V2 по отдельности после назначения и проверять, сохранен ли в них какой-либо пробел?

"export:` = ': недопустимый идентификатор ", как правило, возникает, когда оболочка пытается интерпретироватьэто как запрос на экспорт трех имен: 10, = и а.= не является допустимым именем переменной, поэтому команда не выполняется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...