如何在每5000个段落中更改wput的upload目录? 我的代码中有什么问题?
仅用于记录;我需要infnite循环我想24小时365天运行这个脚本! 每5000个通道在目录中高出一个数字,如incoming1-infinite
最好的问候
豪格
#!/bin/bash
for (( ; ; ))
do
no=1
while [ $no -le 5000 ]
do
perl job.pl false false 1
cd comp
for fname in *.jpg;
do
mv -i "$fname" ${RANDOM}${RANDOM}.jpg
done
for fname in *.jpg;
do
mv "$fname" $(echo "$fname" | sha1sum | cut -f1 -d' ').jpg
done
if [ $no = '5000' ]
then
echo $no
echo $n
n=$(( n+1 )) # <-- this one not do what i need :-(
else
wput *.jpg ftp://user:pass@ip:port/incoming$n/ # <-- here is the important part 2, i need it to change one directory higher every 5000 passage for example; incoming1 until infinite
rm -rf *.jpg
cd ..
fi
no=`expr $no + 1`
done
done
答案 0 :(得分:0)
cd comp
for ((no=1; ; no++))
do
n=`expr $no / 5000`
perl job.pl false false 1
for fname in *.jpg;
# ... rest of the script
done
答案 1 :(得分:0)
只需计算除以5000的余数,如果它等于0(或1或任何<5000),就可以做你需要的。
if [ $((no%5000)) = 0 ]
then
...
fi
答案 2 :(得分:0)
只需在无限循环中放置一个执行5,000次的for循环(可以跟踪目录序列号):
#!/bin/bash
for (( n=0; ; n++ )); do
for (( no=1; no < 5000; no++ )); do
perl job.pl false false 1
( # Subshell so we don't have to worry about returning
# to the previous directory.
cd comp
# No need to rename each file twice.
for fname in *.jpg; do
mv "$fname" $(echo "${RANDOM}${RANDOM}.jpg" | sha1sum | cut -f1 -d' ').jpg
done
wput *.jpg ftp://user:pass@ip:port/incoming$n
)
done
done