シェルスクリプトループを持つSQLPLUS

シェルスクリプトループを持つSQLPLUS

こんにちは。ループを実行してアイテムの詳細を取得しようとしています。私のワークスペースにこれらのプロジェクトがあります。 SQLコードを繰り返す方法は?

#!/bin/bash


    workspace=$(sudo locate -r '/workspace$')
    cd $workspace
    echo "" > ~/Desktop/workspace.txt
    for projectName in `ls -d *`;
    do
        echo $projectName >> ~/Desktop/workspace.txt
    done

    cat workspace.txt | while read Name
    sqlplus $1/$2 <<ENDOFSQL > ~/Desktop/$Name.txt
    DESC PROJECTS;
    SELECT ID_NAME, VALUE FROM PROJECTS WHERE ID_NAME='%${Name}%';
    exit;
    ENDOFSQL

    echo "Testing"

実行するとエラーが発生します。

./sql_parameters.sh: line 24: syntax error: unexpected end of file

答え1

2つ:

この形式でなければなりません。

while condition; do
    your code from while
done

また、ENDOFSQL が新しい行から出てくる間にスペースがないことを確認してください。

関連情報