скрипт, вызывающий другой скрипт?

В общем, лучший способ проверить, можете ли вы открыть файл - будь то для ввода или вывода - это просто попытаться открыть его.

Более конкретно для вывода, если вы хотите открыть файл для вывода, если это приведет к созданию нового файла, оболочки POSIX предлагают параметр оболочки no-clobber , настраиваемый с помощью установлен , поэтому вы можете использовать это, чтобы проверить, существует ли вывод перед продолжением.

Попытаться разобраться в вашем текущем сценарии немного сложно, но, возможно, рассмотрите:

set -C -- '/Volumes/My Passport/Documents/Projects/untitled folder 2/untitled folder 3/untitled folder 2/untitled folder/'*/*_1.fastq
[ -e "$1" ] &&
for f
do    if    cd -- "${f%/*}" &&
            f=${f##*/} f=${f%1*}
      then  if    command exec \
                      3> "$f"1_trimmed.fastq \
                      4> "$f"2_trimmed.fastq \
                      5> "$f"_trimmed_sorted_1.fastq \
                      6> "$f"_trimmed_sorted_2.fastq
            then  ~/Desktop/UTSW/Applications/bbmap/bbduk.sh -Xmx120g in1="$f"1.fastq in2="$f"2.fastq out1=/dev/fd/3 out2=/dev/fd/4 ref="${adapter}" trimq=10 &&
                  paste - - - - < "$f"1_trimmed.fastq | sort ... | tr >&5 ... &&
                  paste - - - - < "$f"2_trimmed.fastq | sort ... | tr >&6 ... 
            fi
       fi
 done
-1
18.01.2019, 03:46
1 ответ

Ваши скрипты продолжают звонить друг другу, так что рано или поздно у вас закончится место в стеке или память (, но, вероятно, ненадолго ).

В качестве лучшего кода вы должны рассмотреть возможность использования одного скрипта, который делает паузу на минуту перед циклом:

#!/bin/bash
incoming=/mnt/md0/User/admin/home/incomingdata

while :
do
    # connect to server download files
    rsync -ae "ssh -p 10045 -T -o Compression=no -x" --progress  --delete appbox@filebot.witzend007.appboxes.co:/APPBOX_DATA/apps/rutorrent.witzend007.appboxes.co/torrents/completed/toNAS "$incoming/"

    # copy files to temp folder
    cp -r "$incoming/toNAS/." "$incoming/temp"

    # Start Filebot and organise and rename files to plex library
    ~/filebot-portable/filebot.sh -script fn:amc --output "/mnt/md0/public/Media" --action move -non-strict "$incoming/temp" --log-file amc.log --def excludeList=amc.txt

    # remove temp folder/files
    rm -r "$incoming/temp"

    # Wait 60 seconds
    sleep 60
done
0
28.01.2020, 05:12

Теги

Похожие вопросы