脚本抛出“写入错误:系统调用中断”

时间:2018-09-11 16:29:33

标签: linux bash recursion

我有一个脚本会抛出上述错误,并且通常在同一行上,但是在脚本运行的不同点。

不幸的是,我无法运行简单的查找,因为我需要一个可以相应查看并实现的脚本。

该脚本的目的是删除特定目录(命名目录)中的所有文件,如果该文件的年龄超过特定年龄(x),则删除子目录。如果文件夹中的所有文件都在x上,则删除该文件夹。必须将所需命令输出到每个主目录的文件中,以便可以在运行之前检查输出。

我在下面包括了脚本的一部分,这是导致错误的原因。该错误通常在函数开始时在回显时发生。但是在不同的循环上。

finddir () {

echo "Entering finddir"
folder=$1
parentfolder=$2

echo $folder
echo "parent " $parentfolder
echo "$folder (parent $parentfolder)"



 dircount=`find $folder -mindepth 1 -type d -printf '1'  | wc -c` # checking for directories
 if [ $dircount -eq 0 ] && [ ! -z $parentfolder ] ; then

    modifiedseconds=`stat -c %Y $parentfolder`
    modifieddate=`stat -c %y $parentfolder`
    if [ $modifiedseconds -lt $testseconds ]; then
            echo "All files in folder $parentfolder to be deleted"
            disksize=`du $parentfolder --max-depth 0|cut -f1`
            filecount=`ls -1 $parentfolder|wc -l`
            echo "rm -rf $parentfolder    #$modifieddate | $disksize | $filecount" >>$deletionfile
    elif [ `find $parentfolder -type f -printf '1' | wc -c` -eq 0 ]; then
            echo "empty directory being deleted $parentfolder"
            echo "rmdir $parentfolder" >>$deletionfile
    else
            echo "finding files for $directory"
            findfiles $directory
    fi
else
    #find $folder -maxdepth 1 -mindepth 1 -type d|
    while read folder2
    do
echo "Looping through folders"
echo "folder " $folder
echo "folder2" $folder2
            finddir $folder2 $folder
    done < <(find $folder -maxdepth 1 -mindepth 1 -type d)
fi
}

任何关于根本原因的想法,或者更好的方法来构造允许代码运行的脚本。

感谢阅读

0 个答案:

没有答案