Reputation: 113
I would like to import variables like username, password, host name from a config.cfg file so that I can use them inside the bash script file script.sh
user = ""
password = ""
host = ""
how can I do that, so that in the script.sh file I can use the credentials that are set in the config.cfg file to excute the following in the script:
mysqldump --user="$user" --password="$password" --host="$host" $db $tabl > "./backups/$db/$db-$tabl-$time"
Upvotes: 4
Views: 4929
Reputation: 29040
Remove the spaces around the =
signs in your config file, source it from your script, and use the so defined shell variables:
source config.cfg
echo "$user"
Upvotes: 6
Reputation: 12383
You have to source it. In bash
you can do that using source
or .
, they are equivalents. For example:
source config.cfg
or
. config.cfg
EDIT:
As correctly noted in the other answer you need to remove spaces around =
for your config.cfg
to work in bash
.
Upvotes: 3