私は、スキーマ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"