检查是否存在一个或多个目录-Bash

检查是否存在一个或多个目录-Bash,bash,Bash,我试图打印每个目录的行,如果目录/文件不存在,我需要显示“缺少” 根据评论中的要求,您可以这样做: #!/usr/bin/env bash do_stuff() { local file=$1 local score max junk IFS=$'/ \t' read -r score max junk < <(tail -n 1 "$file") echo "$score / $max" } file="feedback.txt" for di

我试图打印每个目录的行,如果目录/文件不存在,我需要显示“缺少”


根据评论中的要求,您可以这样做:

#!/usr/bin/env bash

do_stuff() {
    local file=$1
    local score max junk
    IFS=$'/ \t' read -r score max junk < <(tail -n 1 "$file")
    echo "$score / $max"
}

file="feedback.txt"

for dir in folders/folder{1..11}; do
    if ! [[ -f "$dir/$file" ]]; then
        echo "${dir##*/}: missing"
        continue
    fi

    #OK - do stuff here
    do_stuff "$dir/$file"
done
#/usr/bin/env bash
做某事{
本地文件=$1
本地分数最大垃圾

如果s=$'/\t'read-r score max junk<关于您的评论要求,您可以这样做:

#!/usr/bin/env bash

do_stuff() {
    local file=$1
    local score max junk
    IFS=$'/ \t' read -r score max junk < <(tail -n 1 "$file")
    echo "$score / $max"
}

file="feedback.txt"

for dir in folders/folder{1..11}; do
    if ! [[ -f "$dir/$file" ]]; then
        echo "${dir##*/}: missing"
        continue
    fi

    #OK - do stuff here
    do_stuff "$dir/$file"
done
!/usr/bin/env bash
做某事{
本地文件=$1
本地分数最大垃圾

如果s=$'/\t'read-r score max junkfor i in folder{1..1}
,为什么不先运行一个单独的循环来查看所有的文件夹都在那里呢?照此,当您编写
if[-d“$/folders/folder1”&-d“$/folders/folder1”…]时,我们无法说出您的意思(或者您在实际脚本中有什么内容);然后
。您是否检查了处的代码?祝您好运。您知道文件夹{1..1}中i的
,为什么不先运行单独的循环以查看所有文件夹都在那里?实际上,当您编写
if[-d“$/folders/folder1”&&&d“$/folders/folder1”…]时,我们无法说出您的意思(或您在实际脚本中的意思);然后
。你查过你的密码了吗?祝你好运。Pluse-uno提供技术支持(一如既往,这是一个非常好的答案)。祝大家好运。Pluse-uno技术支持(一如既往,这是一个非常好的答案)。祝大家好运。