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
循环中的bash-run.sh_Bash_Loops_Ssh - Fatal编程技术网

循环中的bash-run.sh

循环中的bash-run.sh,bash,loops,ssh,Bash,Loops,Ssh,嘿,我有循环,我需要运行选定的文件,但我不知道如何从不同的目录运行sh文件 for f in "${FILES[@]}"; do if [[ $(basename $f) == *"$2" ]]; then if [ -e "$f/run.sh" ] then echo "FOUND" && sh f/run.sh && break else echo "NOT FOUND" fi fi

嘿,我有循环,我需要运行选定的文件,但我不知道如何从不同的目录运行sh文件

for f in "${FILES[@]}";
do
    if [[ $(basename $f) == *"$2" ]];
    then if [ -e "$f/run.sh" ]
         then echo "FOUND" && sh f/run.sh && break
         else echo "NOT FOUND"
         fi
    fi
done

展开
$f

then echo "FOUND" && sh "$f"/run.sh && break
另外,根据
run.sh
的功能,您可能希望使用,而不是在新的单独shell中运行它:

then echo "FOUND" && source "$f$"/run.sh && break

现在,在这个脚本中,创建了一个“屏幕”,文件位于不同的目录中。但是run.sh不读取此文件,也不创建新的“屏幕”。知道如何运行它吗?@user1366028“$f”是一个目录吗?也许你想
cd“$f”&&source run.sh&&cd..
?我有
&&cd“$f”&&ls&&source“$f/”run.sh
,我想带“screen”的脚本正在运行,但在这个脚本中找不到$server\u name(带文件名的变量)