我有一个脚本,可以在目录中创建任何新文件时获取邮件通知。
现在我想重定向上传的另一个文件中的数据。
下面是创建空白文件的脚本。 请帮忙。
#!/bin/bash
monitor_dir="/home/deepak/deepak/" || "/home/deepak/deepak/ "
email=deepaksharma@gmai.com
files=$(find "$monitor_dir" -maxdepth 1 | sort)
IFS=$'n'
while true
do
sleep 1s
newfiles=$(find "$monitor_dir" -maxdepth 1 | sort)
added=$(comm -13 <(echo "$files") <(echo "$newfiles"))
[ "$added" != "" ] &&
find $added -maxdepth 1 -printf '%Tct%st%pn' | mail -s "incoming" "$email"
files="$newfiles"
echo $files
sleep 70s;
read $files
if [ -s /home/deepak/deepak/$files ] || [ -s /home/deepak/deepak/ $files ]
then
echo "$files found"
cat /home/deepak/deepak/$files >/home/deepak/N || cat /home/deepak/deepak/ $files >/home/deepak/N
else
echo "$files not found"
fi
exit 0
done
@Yuvi,检查$files
变量的tehe内容。它是否包含每个文件的完整路径?如果是这种情况,您获得空白文件的原因可能是因为"源"文件不存在。
例如
如果$files
的值为/home/deepak/deepak/file1.txt/home/deepak/deepak/file2.txt,那么当您在echo "$files found"
之后执行cat
时,您将对不存在的文件执行此操作:/home/deepak/deepak//home/deepak/deepak/file1.txt
和/home/deepak/deepak//home/deepak/deepak/file2.txt
如果是这种情况,您可以通过删除前导路径来解决您的问题:cat $files >/home/deepak/N...