gpt4 book ai didi

linux - shell 找到一个文件,执行它 - 如果 'error' 则退出,如果 ' no error' 则继续

转载 作者:太空宇宙 更新时间:2023-11-04 04:49:20 32 4
gpt4 key购买 nike

我必须编写一个 shell 脚本,但我不知道如何去做。基本上我必须编写一个脚本,在其中找到一个文件(它可能有不同的命名)。如果任一文件存在,则必须执行它,如果返回 0(无错误),则应继续构建,如果不等于 0(返回错误),则应退出。如果未找到任何一个文件,则应继续构建。

我必须找到的文件可以是file.1或file.2,因此它可以命名为(file.1)或(file.2)。

一些条件让它更清楚。1)如果任一文件存在,则应执行 - 如果有任何错误,则应退出,如果没有错误,则应继续。2)没有可能存在,如果是这种情况那么它应该继续构建。3)两个文件不会同时出现(附加信息)

我尝试编写一个脚本,但我怀疑它更接近我正在寻找的内容。

if [-f /home/(file.1) or (file.2)]then   -exec /home/(file.1) or (file.2)   if [ $! -eq 0]; then   echo "no errors continuing build"   fi   else   if [ $! -ne 0] ; then   exit ;   fielse    echo "/home/(file.1) or (file.2) not found, continuing build"fi

非常感谢任何帮助。

提前致谢

最佳答案

DOIT=""
for f in file1.sh file2.sh; do
if [ -x /home/$f ]; then DOIT="/home/$f"; break; fi
done
if [ -z "$DOIT" ]; then echo "Files not found, continuing build"; fi
if [ -n "$DOIT" ]; then $DOIT && echo "No Errors" || exit 1; fi

对于那些对我的语法感到困惑的人,请尝试运行以下命令:

true && echo "is true" || echo "is false"
false && echo "is true" || echo "is false"

关于linux - shell 找到一个文件,执行它 - 如果 'error' 则退出,如果 ' no error' 则继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11595846/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com