Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何将(不同目录)的bash文件作为输入自动运行_Linux_Bash - Fatal编程技术网

Linux 如何将(不同目录)的bash文件作为输入自动运行

Linux 如何将(不同目录)的bash文件作为输入自动运行,linux,bash,Linux,Bash,我有一个bash文件,它需要5个输入 Input1 = file1 Input2 = file2 Input3 = directory1 Input4 = func Input5 = 50 输入4和5总是相同的,从不改变 文件1和文件2位于目录1内 目录1位于代码目录中 /code/directory1/file1 /code/directory1/file2 代码文件夹中有许多具有相同结构的目录(1-70) /code/directory1/* /code/directory2/* /co

我有一个bash文件,它需要5个输入

Input1 = file1
Input2 = file2
Input3 = directory1
Input4 = func
Input5 = 50
输入4和5总是相同的,从不改变

文件1和文件2位于目录1内

目录1位于代码目录中

/code/directory1/file1
/code/directory1/file2
代码文件夹中有许多具有相同结构的目录(1-70)

/code/directory1/*
/code/directory2/*
/code/directory3/*
...
/code/directory70/*
为了运行bash文件,我必须从终端运行命令70次:尝试以下操作:

for dirs in $(ls -F /code | grep '/')
do
    eval files=( "$(ls -1 ${dirs})" )
    <ShellScript>.sh "${dirs}${files[0]}" "${dirs}${files[1]}" "${dirs%/}" func 50
done
美元目录的
(ls-F/code | grep'/)
做
eval files=(“$(ls-1${dirs})”)
.sh“${dirs}${files[0]}”“${dirs}${files[1]}”“${dirs%/}”func 50
完成

用于/code/directory*中的d;do yourscript.sh$d/file1$d/file2$d func 50;完成
,假设file1和file2位于所有这些目录中。如果需要比单个目录通配符更复杂的内容,还可以查看
find
命令。
for dirs in $(ls -F /code | grep '/')
do
    eval files=( "$(ls -1 ${dirs})" )
    <ShellScript>.sh "${dirs}${files[0]}" "${dirs}${files[1]}" "${dirs%/}" func 50
done