Intereting Posts
Последствия для безопасности, забывающие процитировать переменную в оболочках bash / POSIX Удаленное выполнение команд, но все же контроль над хостом Предотвращение кражи фокуса другими приложениями графического интерфейса? Как включить автозапуск YouTube с помощью youtube-dl & mpv? Как сделать файловую систему при заданном смещении байта Есть ли надежный способ для дочернего процесса передать готовность родительскому процессу? «Нет такого пользователя», но пользователь находится в файле passwd Зачем нужен фальшивый драйвер LR-WPAN? Все электронные письма будут спама Когда интерпретировать awk как команду или язык программирования? Молчаливые ошибки диска и надежность обмена Linux ожидать сценария для получения вывода для нескольких серверов curl url call in for loop? Команда Unix bash Sed Комбинация по одному файлу Как печатать определенные страницы из командной строки?

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

Итак, я сохраняю значения первого столбца, возвращенного из запроса 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