Скрипт оболочки Выборка данных из 5 разных каталогов - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь запустить скрипт оболочки, чтобы получить данные из нескольких каталогов.Моя цель (targetDir) имеет 5 каталогов.Таким образом, программа при запуске должна искать данные в этих 5 разных каталогах, но когда я ее выполняю, она обрабатывает все 5 папок в одной строке.Любой совет?

targetDir="snavis_bub snavis_bub2 snavis_bub3 snavis_hdw snavis_ldw"
datadir=/opt/pkg/home/tools/zform/marnel/$targetDir/of_inspect

После выполнения:

./orsInspect.sh: line 60: 
cd: /opt/pkg/home/tools/zform/marnel/snavis_bub,snavis_bub2,snavis_bub3,snavis_hdw,snavis_ldw/oref_inspect: No such file or directory

1 Ответ

0 голосов
/ 01 июня 2018

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

#!/bin/bash
declare -a targetDirs=("snavis_bub" "snavis_bub2" "snavis_bub3" "snavis_hdw" "snavis_ldw")

for the_dir in "${targetDirs[@]}" ;do
    datadir="/opt/pkg/home/tools/zform/marnel/${the_dir}/of_inspect"
    echo "$datadir"
    # ... do something for each datadir
done

пример вывода (только эхо):

/opt/pkg/home/tools/zform/marnel/snavis_bub/of_inspect
/opt/pkg/home/tools/zform/marnel/snavis_bub2/of_inspect
/opt/pkg/home/tools/zform/marnel/snavis_bub3/of_inspect
/opt/pkg/home/tools/zform/marnel/snavis_hdw/of_inspect
/opt/pkg/home/tools/zform/marnel/snavis_ldw/of_inspect
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...