パラメータをファイルに渡し、資格情報を取得するのに役立ちます

パラメータをファイルに渡し、資格情報を取得するのに役立ちます

私は、スキーマIDとパスワードをパラメータとして使用し、sqlplusを使用してデータベースにログインし、クエリを実行した後に結果をメールで送信するシェルスクリプトを開発しました。

コードスニペットは次のとおりです。

#!/bin/sh
#Two input parameters USER_ID and Password
DB_USER=$1
DB_PWD=$2
result=`sqlplus -s $DB_USER@D1TFDDS/$DB_PWD<<EOF
spool sample.txt
sql query
spool off
EOF`
v1_result=`cat sample.txt | sed -e 's/ //g' | tr " " "\n"`
echo "${v1_result}" > mail.txt
mailx -s "Samplemail" [email protected]  < mail.txt

ここでは、IDとパスワードをパラメータとして渡して結果を取得します。私の資格情報をスクリプトに渡したくありませんが、代わりに権限が制限された.txtファイルに保存できます。

環境IDとスキーマ名をパラメータとして.txtファイルに渡すと、ユーザーIDとパスワードが提供されます。

ベストアンサー1

あなたはsourceできます構成ファイル

スクリプトでは、次のことができます。

#!/bin/sh

#...

CONFIG="${HOME}/myconfig"

DB_USER=""
DB_PWD=""

if [ -f "${CONFIG}" ]
then
    . "${CONFIG}"
fi

#...

ここでsources(コマンドの読み込みと実行)構成ファイル myconfigホームディレクトリにある場合dot operator

文書の内容myconfig:

DB_USER="admin"
DB_PWD="insecure"

おすすめ記事