高手看看这个脚本应该该哪里

sh/bash/dash/ksh/zsh等Shell脚本
回复
yubinalice
帖子: 197
注册时间: 2015-12-23 16:20
系统: ubuntu 16.04

高手看看这个脚本应该该哪里

#1

帖子 yubinalice » 2017-07-24 14:11

OK,

写了一个脚本,当文件夹的体积达到一定程度,就转移文件。

但是出现了问题。

脚本如下:

for file in *.flv
do
if (( `awk '{print $1}' `du -d0 .`` > num1 && `awk '{print $1}' `du $file`` > num2 ))
then
mv $file dest
else
echo not enough big wait
fi
done

这个脚本在awk这行出问题了。返回致命错误。
awk: 致命错误: 无法以读模式打开文件“5609720”(没有那个文件或目录)

这个谁知道这个是怎么回事?

我这个是用you-get来下载书目巨大的视频。有的时候体积会超过所使用的TF卡的体积。于是需要转移。

同时我希望这个脚本能够成为服务,就是一直运行。要不然怎么确定,一超过体积上线就转移文件?

谢谢!!!
头像
x007007007
帖子: 406
注册时间: 2007-11-07 17:53
系统: Mac
来自: shanghai
联系:

Re: 高手看看这个脚本应该该哪里

#2

帖子 x007007007 » 2017-07-25 17:09

你用 intofiy 来做会好很多,如果你没有用nfs的话,当然,我要是你就不写bash,如果要写的话,awk可以不用,用cut

代码: 全选

``

代码: 全选

$()
代替更有可读性,多加几个变量不会死会方便调试,代码排版有点乱,懒得看
不过 mv $file dest 明显有问题,首先 mv是通过空格来判断参数的, $file 没有引号 dest这个目录未必存在。
:em03
人生来只做的两件事:
1.犯错
2.改错
只犯错不改错的是魔鬼,只改错不犯错的是上帝
总之,都不是人!!!!!!!!!!!!!
我的地盘
回复