Wednesday, February 2, 2022

[SOLVED] Need bash shell script for reading name value pairs from a file

Issue

I have a file like

name1=value1
name2=value2

I need to read this file using shell script and set variables

$name1=value1
$name2=value2

Please provide a script that can do this.

I tried the first answer below, i.e. sourcing the properties file but I'm getting a problem if the value contains spaces. It gets interpreted as a new command after the space. How can I get it to work in the presence of spaces?


Solution

Use:

while read -r line; do declare  "$line"; done <file


Answered By - kurumi
Answer Checked By - Marilyn (WPSolving Volunteer)