我是新来的,目前正在进行一个小项目。
我需要在 bash 中编写一个脚本,以便每次将文件放入文件夹时扫描该文件夹。在第二部分中,它应该将其移动到使用该文件使用的名称创建的新目录中。
我想用因克朗或者手表但我不知道这是否是一个好的解决方案。计划是这样的。
directory="/usr/share/docker-compose"
if "*.yml" exist; then
do
move /usr/share/used-images
提前致谢。
答案1
您可以使用inotifywait。示例脚本:
#!/bin/bash
watchdir="$1"
if ! [ -d "$watchdir" ]; then
echo "Dir $watchdir doesn't exist"
exit 1
fi
while file=$(inotifywait --format "%f" -e 'create' -e 'moved_to' "$watchdir"); do
if [ -f "$watchdir/$file" ]; then
tmpname=$(tempfile -d "$watchdir")
mv "$watchdir/$file" "$tmpname"
mkdir "$watchdir/$file"
mv "$tmpname" "$watchdir/$file/$file"
# YOURCOMMANDS
fi
done