Перебрать вывод функции - PullRequest
       10

Перебрать вывод функции

0 голосов
/ 25 апреля 2019

Ниже приведена функция, которая дает мне каталог, который больше, чем значение 4. (ver = 4)

#!/bin/ksh

declare -a folders_res
declare -a dirs

check_minor_version(){
  dirs=($(find ${my_directory}/${my_dir} -type d -printf "%f\n" | sed '1d' |sort))

  for i in "${dirs[@]}"; do
    if [ "$i" -gt "${ver}" ]; then
       folders_res+=("$i")
    fi
  done

  if [ ${#folders_res[@]} -eq 0 ]; then
    echo ${ver}
  else
    echo ${folders_res[@]}
  fi
}

Функция работает, как ожидалось, и выдает мне выходное значение 5 6 7

но при вызове функции вывода внутри цикла 'for' я получаю следующее сообщение - "невозможно открыть файл" 5 6 7 / my.sql ""

for i in "$(echo $(check_minor_version) )"; do 
 ${sqlplus} username/password@service_id << EOF
 SET WRAP OFF
 @$i/my.sql
 exit;
EOF
done

Isневозможно перебрать вывод функции в ksh или я делаю что-то глупое, спасибо.

1 Ответ

0 голосов
/ 25 апреля 2019

Вы должны удалить кавычки " следующим образом:

for i in $(echo $(check_minor_version) ); do 
...

А также уберите echo, что бесполезно:

for i in $(check_minor_version); do 
...
...