цитирование

ющийэтот примерУ меня возникли проблемы с использованием переменных PostgreSQL в * .sql сценарии:

Я хочу перебрать несколько файлов данных XML, используя скрипт BASH

скрипт BASH назначает имена файлов XML переменной, которая передается в скрипт SQL

SQL-скрипт, вызываемый этим BASH-скриптом, загружает эти данные в PostgreSQL

Если я получу файлы XML напрямую, проблем не будет; Однако я не могу получить доступ к этой переменной в моем сценарии SQL:

В моем сценарии SQL (hmdb.sql) Я могу получить доступ к переменной PSQL:bash_var (передано из скрипта BASH):

\echo '\nEXTERNAL VARIABLE (= "datafile", HERE):' :bash_var '\n'

и / или напрямую ссылаться на файл XML,

datafile text := 'hmdb/hmdb.xml';

но не как переменная:

datafile text := 'bash_var';

hmdb.sh

#!/bin/bash

DATA_DIR=data/

for file in $DATA_DIR/*.xml
  do
    bash_var=$(echo ${file##*/})
    echo $bash_var
    psql -d hmdb -v bash_var=$bash_var -f hmdb.sql
done

Ответы на вопрос(1)

Ваш ответ на вопрос