0

RedHat (rhelsvrbase64-6.2) バージョンを使用しています。ファイル (つまり、utf-16le 形式) を UTF-8 形式に変換する incron ジョブを作成しました。

When i am running my job, It is creating multiple UTF-8 copies of my file.

    My incrontab script is as follows: 

    **/home/sap/SRMArchive/incronTest IN_CLOSE_WRITE /usr/local/bin/test.sh $@ $#**

    test.sh

    **#!/bin/bash
    echo "hi">>/var/log/my.log
    echo $1>>/var/log/my.log
    echo $2>>/var/log/my.log
    file -bi $1/$2 >>/var/log/my.log
    iconv -f utf-16le -t UTF-8 $1/$2 > $1/UTF8_$2** 

    When i am dropping any file to my '/home/sap/SRMArchive/incronTest' folder, The output i am getting is number of files named as follows :

    UTF8_myFile.txt
    UTF8_UTF8_myFile.txt
    UTF8_UTF8_UTF8_myFile.txt 
    UTF8_UTF8_UTF8_UTF8_myFile.txt
    .........
    ........


Thanks in advance
4

1 に答える 1

0

この行で:

    iconv -f utf-16le -t UTF-8 $1/$2 > $1/UTF8_$2** 

で見ているのと同じディレクトリに出力を作成していますincroniconvファイルの書き込みが完了すると、新しいイベントIN_CLOSE_WRITEが発生し、出力ファイルの名前でスクリプトがトリガーされます...など。

理論的には、これから無限ループを取得する必要があります。

解決策は、(a) 別のディレクトリに出力を生成するか、(b) で始まるファイルのイベントをスクリプトで無視するようにすることUTF8_です。

于 2014-06-26T12:19:57.340 に答える