[英]Call variables from a file
我需要檢索已存儲在文件中的變量。 我正在捕獲用於prostgress和其他一些程序安裝的變量。 這是我用來在安裝腳本的開頭創建variables.sh文件的腳本。
#!/ bin / bash#初始化
函數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。 我希望這更加具體。
謝謝你的幫助。
也許bash source命令就是您要找的東西?
如果文件variables.sh包含以下行
dbuser="the user"
dbname="the name"
...
然后你可以執行
source variables.sh
從bash shell腳本中讀取並執行此文件中的命令。 這會將值分配給外殼變量$dbuser
, $dbname
等。
請注意,如果值包含空格,則應將其用引號引起來。
示例如何從文件中讀取變量:
#!/bin/bash
source variables.sh
echo "dbuser=$dbuser"
echo "dbname=$dbname"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.