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

时间:2019-02-26 16:43:46

标签: linux bash

似乎在循环中的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

1 个答案:

答案 0 :(得分:0)

您正在使用super.bind(prop1, prop2, prop3)重定向,它将替换所有文件内容。使用>进行串联。

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

touch