0

crontabから実行すると、bashスクリプトの次の行に出力が/tmp/DPE_SC/LoadUnits/ttx/bin/deasn9 -b -a cdrr6 $fnamesファイルに書き込まれません。 コマンドラインから手動で正しく動作することを確認する$dst_dir"/"$fstat"-"$fnames".txtという名前の空のファイルを作成するだけです。$dst_dir"/"$fstat"-"$fnames".txt

/tmp/DPE_SC/LoadUnits/ttx/bin/deasn9 -b -a cdrr6 $ fnames> $ dst_dir / $ fstat-$ fnames.txt

私の間違いは何ですか?

これが私のスクリプト全体です

#!/ bin / bash

export 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 = / Chargeing / chsLog / ready

dst_dir = / Core / cdr

cd $ src_dir

lastfile =cat $dst_dir/last_cdr.txt

filenames =ls -t | grep ^chsLog

fcounter = 1

$filenamesのfnamesの場合

     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
4

2 に答える 2

1

.profileあなたの、、などを覚えておいてください.bashrc。al。cron内からは利用できません。

環境変数は、crontabで直接定義する必要があります。

例えば

fstat=myValue
fname=aName
@hourly myJob ${fstat} ${fname}
于 2013-03-09T12:10:35.717 に答える
0

間違えたものを見つけました。cdrr6はオプションだけではありませんでした。cdrフォーマットライブラリです。次に、sciptからLIBパスをエクスポートしました。今では完璧に機能しました。

于 2013-03-12T06:29:39.530 に答える