bash linux中用于检查文件是否存在的问题脚本

wnrlj8wa  于 2023-02-11  发布在  Linux
关注(0)|答案(1)|浏览(149)

这个问题我想找你帮忙,我有这个脚本可以检测文件(正在学习),但是它不能检测文件,也看不到错误,你能指导我吗?谢谢!
脚本所在和执行的文件夹:

home/jlia/scripts

文件所在的文件夹:
x一个一个一个一个x一个一个二个x
结果:

not existe ../data/jane_profile_07272018.doc
not existe ../data/jane_pic_07282018.jpg
not existe ../data/jane_contact_07292018.csv

在home/jlia/data文件夹中有一个文本文件和其他文件,其中包含我使用grep提取的脚本,我必须验证文件的位置是否存在,并返回"exist"作为结果。问题是,它不会检测脚本中存在的文件,但在独立执行脚本时[-e "Expression"],它会检测到文件。

polhcujo

polhcujo1#

你的剧本和你的信息之间似乎有些不协调。
如果文件不在它们应该在的地方,为了让脚本正确报告,那么使用grep和相对引用设置archivos将会失败!!
事实上,archivos被正确地设置了list.txt中的有效路径值,逻辑应该已经工作了。
我无法重现您的结果,即使使用脚本和创建演示目录和虚拟文件。
我的剧本是这样的:

#!/bin/bash

cd ${HOME}/scripts

if [ ! -s ../data/list.txt ]
then
    printf "\n WARNING:  Creating DEMO Data ...\n"
    mkdir ../data
    cat >"../data/list.txt" <<"EnDoFiNpUt"
001 jane /data/jane_profile_07272018.doc
002 kwood /data/kwood_profile_04022017.doc
003 pchow /data/pcwow_profile_11042019.doc
004 janez /data/janez_ptofile_11042019.doc
005 jane /data/jane_pic_07282018.jpg
006 kwood /data/kwood_pic_04032017.jpg
007 pchow /data/pcwow_pic_05162019.jpg
008 jane /data/jane_contact_07292018.csv
009 kwood /data/kwood_contact_04042017.csv
010 pchow /data/pchow_contact_05172019.csv
EnDoFiNpUt

    if [ ! -s ../data/jane_contact_07292018.csv ]
    then
        printf "\n WARNING:  "
        echo "Dummy Content CREATED - jane_contact_07292018.csv" | tee ../data/jane_contact_07292018.csv
    fi

    if [ ! -s ../data/jane_profile_07272018.doc ]
    then
        printf "\n WARNING:  "
        echo "Dummy Content CREATED - jane_profile_07272018.doc" | tee ../data/jane_profile_07272018.doc
    fi
    echo ""
fi

archivos=$(grep "/jane_" ../data/list.txt | cut -d' ' -f 3) ;

for file2 in $archivos
do
    if [ -e "..${file2}" ]
    then
        echo "exist ..${file2}"
    else
        echo "not existe ..${file2}"
    fi
done

生成的输出如下所示:

WARNING:  Creating DEMO Data ...
mkdir: cannot create directory ‘../data’: File exists

 WARNING:  Dummy Content CREATED - jane_contact_07292018.csv

 WARNING:  Dummy Content CREATED - jane_profile_07272018.doc

exist ../data/jane_profile_07272018.doc
not existe ../data/jane_pic_07282018.jpg
exist ../data/jane_contact_07292018.csv

相关问题