Vertica DB から値を取得し、それをシェルの変数に割り当てて、さらに使用する必要があります。Vertica DB は別の Linux サーバーに存在します。以下のスクリプトを使用してデータを取得しています。それは機能し、Linux変数にも値を割り当てます。しかし、私は警告を受けています。「SSHSQLTEXT」から一重引用符を削除すると、コード ブロックが機能しなくなります。
コード:
execute_command="SELECT SCHEMA_ID FROM V_CATALOG.SCHEMATA WHERE SCHEMA_NAME = '$v_schema_name'; "
retVal=$(ssh $o_pem_key_string $v_server_user@$v_server_name ssh_v_db_name=$v_db_name ssh_v_schema_name=$v_schema_name ssh_v_schema_pwd=$v_schema_pwd ssh_execute_command=\""$execute_command"\" \'bash -s\' <<'SSHSQLTEXT'
/opt/vertica/bin/vsql -d $ssh_v_db_name -U $ssh_v_schema_name -w $ssh_v_schema_pwd -c "$ssh_execute_command"
SSHSQLTEXT)
has_log_table_val=($retVal)
export v_schema_id=${has_log_table_val[2]}
echo $v_schema_id
警告メッセージ:
./testsample.sh: line 97: warning: here-document at line 95 delimited by end-of-file (wanted `SSHSQLTEXT')