Intereting Posts
Почему «исходная» команда Баша ведет себя по-разному при вызове функции? Vim powerline плагин цвет нормального режима Как обеспечить выполнение исполняемого скрипта при двойном щелчке по нему? консоль (драйвер) не открывается с помощью какого-либо редактора заменить шаблон между двумя символами использовать ffplay для воспроизведения списка аудиофайлов Подтверждение SSL-сертификата для xampp localhost Как я могу выбрать всю копию из vim и вставить в другую программу, например, почтовый клиент? Некоторое программное обеспечение работает только от корневого терминала «файловая система / boot» имеет неправильный тип для системного раздела EFI ' Подстановочные знаки внутри кавычек Есть ли средство командной строки для чтения байтовых секторов / кластеров с определенных адресов на диске? Преобразование нескольких видео в несколько GIF-файлов s3fs жалуется на SSH-ключ или сертификат SSL – как исправить? Docker «не может выделить память» – настройка виртуальной памяти

запустить команду для различных переменных в сценарии оболочки

Итак, я сохраняю значения первого столбца, возвращенного из запроса sql, в переменную ( var ) .. это должен быть тип массива, потому что запрос sql возвращает несколько строк, и позже эти значения будут использоваться в команда

Я не уверен, как запустить одну и ту же команду одну за другой с разными переменными в сценарии оболочки.

 var=`app/oracle/product/10.2.0/bin/sqlplus -s user/passwd<< !EOF! set pages 0 echo off feed off timing off select entity_name,uid,set_date from table_name; exit !EOF!` 

Команда для запуска выглядит так:

 X=$var Y=`date` ./test.sh 

Вам не нужно хранить выходные данные вашего запроса к базе данных в одной переменной.

 app/oracle/product/10.2.0/bin/sqlplus -s user/passwd < 

Это будет считывать вывод команды sqlplus и вызывать ваш скрипт один раз для каждой строки, устанавливая значение переменных среды X и Y в процессе.

Ваш запрос неясен. Вы в состоянии изменить сценарий? Если нет, и если это явно зависит от переменных X и Y , вам понадобится переменная temp / loop. Чтобы запустить test.sh для каждого элемента массива, попробуйте цикл for (если в любом из элементов нет пробелов):

 for TMP in "${var[@]}"; do X="$TMP" Y=$(date) ./test.sh; done