当我从 crontab 执行时,我的 bash 脚本的下一行不会将输出写入/tmp/DPE_SC/LoadUnits/ttx/bin/deasn9 -b -a cdrr6 $fnames
文件。$dst_dir"/"$fstat"-"$fnames".txt
它只创建一个名为$dst_dir"/"$fstat"-"$fnames".txt
Sure it 的空文件,它可以手动从命令行正常工作。
/tmp/DPE_SC/LoadUnits/ttx/bin/deasn9 -b -a cdrr6 $fnames > $dst_dir/$fstat-$fnames.txt
我的错误是什么?
这是我的整个剧本
#!/bin/bash
导出 PATH=/tmp/DPE_SC/LoadUnits/ttx/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/tmp/DPE_SC/Tools :/usr/X11R6/bin
src_dir=/充电/chsLog/就绪
dst_dir=/核心/cdr
cd $src_dir
最后一个文件=
cat $dst_dir/last_cdr.txt
文件名=
ls -t | grep ^chsLog
fcounter=1
对于 $filenames 中的 fname
do fstat=`stat -c %y ${fnames} | cut -d '.' -f1` fstat=`echo ${fstat//[^0-9]/}` if [[ $fstat -gt $lastfile ]] then if [[ $fcounter -eq 1 ]] then echo $fstat > $dst_dir/last_cdr.txt let "fcounter = $fcounter + 1" fi deasn9 -b -a cdrr6 ${fnames} > $dst_dir/$fstat-${fnames}.txt fi done