gpt4 book ai didi

linux - for 循环中 if 语句中的 if 语句

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

似乎当您在循环内的 if 语句中使用 if 语句时,if 语句不会遍历每个元素。

我应该如何解决这个问题?

使用以下代码,我试图将所有无法执行的 .py 文件放入 1.log 中。但它只将在 1.log 中找到的第一个 python 文件放入。

for i in `find ~/desktop -name '*.py'` ; do 
if $i ; then
true
else
if [[ -e "1.log" ]];then
echo "$i" > 1.log
fi
fi
done

最佳答案

您正在使用 > 重定向,它将替换所有文件内容。使用 >>> 来连接。

此外,在开始循环之前确保文件存在(我为此添加了一个touch命令)

touch 1.log
for i in `find ~/desktop -name '*.py'` ; do
if $i ; then
true
else
if [[ -e "1.log" ]] ; then
echo "$i" >> 1.log
fi
fi
done

关于linux - for 循环中 if 语句中的 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54890279/

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