1

ファイルに保存されている変数を取得する必要があります。私はprostgressと他のいくつかのプログラムのインストールのために変数をキャプチャしています。これは、インストールスクリプトの最初にvariables.shファイルを作成するために使用しているスクリプトです。

#!/ bin / bash#init

function pause(){read -p "$ *"}

echo"dbユーザー名を入力してください"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を使用できるようになります。これがもっと具体的だといいのですが。

助けてくれてありがとう。

4

1 に答える 1

0

おそらくbashsourceコマンドはあなたが探しているものですか?

ファイルvariables.shに行が含まれている場合

dbuser="the user"
dbname="the name"
...

その後、実行することができます

source variables.sh

このファイルからコマンドを読み取って実行するためのbashシェルスクリプトから。これにより、シェル変数などに値が割り当てられ$dbuserます$dbname

値にスペースが含まれている場合は、値を引用符で囲む必要があることに注意してください。

ファイルから変数を読み戻す方法の例:

#!/bin/bash

source variables.sh
echo "dbuser=$dbuser"
echo "dbname=$dbname"
于 2012-11-03T10:29:54.710 に答える