我正在尝试运行Shell脚本以从多个目录获取数据。
我的目标(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
最佳答案
您可以做很多事情。例如,您可以使用数组和for循环,并在每次循环时执行任务:
#!/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
关于linux - Shell脚本从5个不同的目录中获取数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50635237/