簡體   English   中英

從文件中調用變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM