我使用的是RedHat (rhelsvrbase64-6.2)版本。我已经编写了一个incron作业来将文件(即utf-16le格式)转换为UTF-8格式。
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发布于 2014-06-26 20:19:57
在这一行中:
iconv -f utf-16le -t UTF-8 $1/$2 > $1/UTF8_$2** 您将在使用incron查看的同一目录中创建输出。当iconv完成文件的编写时,您将获得一个新的IN_CLOSE_WRITE事件,该事件将使用输出file...and的名称触发您的脚本,依此类推。
从理论上讲,你应该从中得到一个无限循环。
解决方案是(a)在不同的目录中生成输出,或者(b)让脚本忽略以UTF8_开头的文件上的事件。
https://stackoverflow.com/questions/24429309
复制相似问题