【发布时间】:2014-02-23 22:54:33
【问题描述】:
我正在使用一个函数来解析具有要下载的所需文件名列表的文件。我正在使用 curl 下载它们,但有更好的方法吗?显示的输出没问题,但是有没有办法不显示输出?如果找不到文件,是否有办法处理异常并在发生某些情况时继续下载下一个文件?可能想忽略我为获得正确的链接名称所做的事情,这很痛苦。目录模式与文件名有一个模式。
#!/bin/bash
# reads from the file and assigns to $MYARRAY and download to Downloads/*
FILENAME=$1
DLPATH=$2
VARIABLEDNA="DNA"
index=0
function Download {
VARL=$1
#VARL=$i
echo $VARL
VAR=${VARL,,}
echo $VAR
VAR2=${VAR:1:2}
echo $VAR2
HOST=ftp://ftp.wwpdb.org/pub/pdb/data/structures/divided/pdb/
HOSTCAT=$HOST$VAR2
FILECATB='/pdb'
FILECATE='.ent.gz'
NOSLASH='pdb'
DLADDR=$HOSTCAT$FILECATB$VAR$FILECATE
FILECATNAME=$NOSLASH$VAR$FILECATE
echo $DLADDR
curl -o Downloads/$FILECATNAME $DLADDR
gunzip Downloads/$FILECATNAME
}
mkdir -p Downloads
while read line ; do
MYARRAY[$index]="$line"
index=$(($index+1))
done < $FILENAME
echo "MYARRAY is: ${MYARRAY[*]}"
echo "Total pdbs in the file: ${index}"
for i in "${MYARRAY[@]}"
do
Download $i
done
我正在尝试将日志文件写入我在下载之前创建的文件夹,但它似乎没有在文件夹中。它写入正在执行的文件的根目录,也没有正确写入。我的语法可能是错误的??
curl -o Downloads/$FILECATNAME $DLADDR >> Downloads\LOGS\$LOGFILE 2>&1
【问题讨论】:
-
我正在尝试将日志文件写入我在下载之前创建的文件夹,但它似乎没有在文件夹中。它写入正在执行的文件的根目录,也没有正确写入。我的语法可能是错误的?? curl -o 下载/$FILECATNAME $DLADDR >> 下载\LOGS\$LOGFILE 2>&1