我需要检索已存储在文件中的变量。我正在捕获变量以安装prostgress和其他一些程序。这是我用来在安装脚本开头创建variables.sh文件的脚本。
#!/斌/庆典 #init
function pause(){ 读-p“$ *” }
echo“输入数据库用户名” echo“”
read dbuser
echo " "
echo " Enter name of database "
echo " "
read dbname
echo " "
echo " Enter db password "
echo " "
read pws
echo " "
echo " Enter Port Number "
echo " "
read port
echo " "
echo " Enter URL i.e. my.hospital.com:8191 or 78.12.156.234:8191 "
echo " "
read url
cat > variables.dat << EOF
dbuser=$dbuser
dbname=$dbname
pws=$pws
port=$port
url=$url
EOF
if [ -f variables.sh ];
then
echo " Data stored ready for next phase "
else
echo " Data not stored - exit program start again "
echo " "
pause " Press [CTL] [Z] to exit the program now "
fi
chmod +x variables.sh
exit
在执行我编写的其他模块期间。我希望能够打开或调用变量文件并将变量传递给执行脚本。所以我的pac-install.sh将包含variables.sh文件并将其内容传递给pac-install.sh脚本并能够使用dbuser = $ dbuser。我希望这更具体。
感谢您的帮助。
答案 0 :(得分:0)
也许你正在寻找bash source 命令?
如果文件 variables.sh 包含行
dbuser="the user"
dbname="the name"
...
然后你可以执行
source variables.sh
从bash shell脚本中读取并执行此文件中的命令。这会将值分配给shell变量$dbuser
,$dbname
等。
请注意,如果值包含空格,则应将值括在引号中。
示例如何从文件中读回变量:
#!/bin/bash
source variables.sh
echo "dbuser=$dbuser"
echo "dbname=$dbname"