ファイルに基づいてスクリプトを実行する方法

ファイルに基づいてスクリプトを実行する方法

ジャンプサーバーからOracleに接続するためのスクリプトを作成しようとしています。つまり、ジャンプサーバーでスクリプトを実行し、スクリプトには以下の設定ファイルがあります。

#USERNAME   PASSWORD    TNSNAMES    SUCCESS/FAIL
ODB        ODB123       ODB1        
CDC        CDC123       CDC1        

それでは、設定ファイルを繰り返し見てみましょう。

${ORACLE_HOME}/bin/sqlplus -S ${USER}/${PASSWORD}@${TNSNAMES} 

したがって、ループで最初に上記のクエリを実行するだけです。上記のユーザー名とパスワードを使用してサーバーにログインし、ファイルに正常な接続と接続失敗を記録する必要がありconfigます。PASSFAIL

#USERNAME   PASSWORD    TNSNAMES    SUCCESS/FAIL
ODB         ODB123      ODB1        PASS
CDC         CDC123      CDC1        FAIL

更新されたファイルを再度読み取る必要がありconfigます。渡された場合は、データベースに移動して呼び出された対応するSQLを実行する必要があります。その場合は、データベースを無視する必要がありますFAIL

コンテンツを別のファイルに書き込む次のスクリプトを試しました。

#!/bin/sh

. ~/.ODBenv
cat test.txt | grep '^#' > test1.txt
cat test.txt | grep -v '^#' | awk 'NF'|while read i;do
#if [ -z "$i" ]
#then
#break;
#fi
user_name=`echo $i|awk {'print $1'}`
password=`echo $i|awk {'print $2'}`
TNS_NAME=`echo $i|awk {'print $3'}`
echo "exit" | ${ORACLE_HOME}/bin/sqlplus -S  ${user_name}/${password}@${TNS_NAME} |grep -E 'ORA|SP2' > /dev/null
if [ $? -ne 0 ]
then
   echo -e "${user_name}\t      ${password}\t   ${TNS_NAME}\t   PASS">>test1.txt
else
   echo -e "${user_name}\t      ${password}\t   ${TNS_NAME}\t   FAIL">>test1.txt
fi
done
#done < test.txt|grep -v "^#" | awk "NF"

新しいファイルに同じ内容を書いてみましたが、上記のスクリプトが機能しました。

生ファイルに「合格/失敗」などを書き込む方法を学びます。元の文書は以下にあります。

#USERNAME   PASSWORD    TNSNAMES    SUCCESS/FAIL
ODB        ODB123       ODB1        
CDC        CDC123       CDC1        

ベストアンサー1

だからぴったりの編集だ。私はsed -iこれを好む:

tail -n+2 test.txt|while read -r line ; do
  user_name=`echo "$line"|cut -d\  -f 1`
  password=`echo $line|cut -d\  -f 2`
  TNS_NAME=`echo $line|cut -d\  -f 3`
  echo "exit" | ${ORACLE_HOME}/bin/sqlplus -S ${user_name}/${password}@${TNS_NAME} |grep -E 'ORA|SP2' > /dev/null
  if [ $? -ne 0 ]; then
    result=PASS
  else
    result=FAIL
  fi
  sed -i -E "/$line/s/\t*FAIL|\t*PASS|$/$result/" test.txt
done

したがって、そのケースの末尾またはそのタブを$line削除し、これが役に立つことを願っています。PASSFAIL$result

おすすめ記事