仍在学习,我迷失了 IFS=
#!/bin/bash
inotifywait -m -r --excludei '(.txt$|.old$|.swp$|.swx$|.swpx$|.zip$)' /path/to/watch -e create |
while read path action file; do
cd $path
USER="$(stat -c %U $file)"
echo "To: User <user@domain.com>
CC: Support <user@domain.com>
From: $USER <user@domain.com>
Subject: $USER has Uploaded a new File
The user '$USER' uploaded the file '$file' to '$path'" > /mnt/remote/ian/temp2.txt
cat /path/to/temp/file.txt | ssmtp list@domain.com
rm /path/to/temp/file.txt
done
这是我的第一个脚本,只要上传的文件名中没有空格,它就可以很好地工作。我已经阅读了一些使用 IFS= 'whatever' 来定义字段分隔符的脚本,但我不想在生产时搞乱它;它可以工作,但是当我无法获取上传文件的用户的用户名时,这让我很恼火。请给我一个提示。