gpt4 book ai didi

linux - 每 2 秒检查一次目录内容,如果 bash 中存在某个文件,则复制其内容

转载 作者:太空宇宙 更新时间:2023-11-04 04:24:19 25 4
gpt4 key购买 nike

我想每2秒检查一次linux bash中的特定目录,如果那里存在任何文件,则在运行的守护进程劫持该文件之前将该文件复制到一个目录(对该文件进行一些处理和修改,然后快速将处理后的文件移动到另一个目录)。

我尝试过这个:

while true; do
cp * /home/a/*;
sleep 1;
done

但它不起作用:我猜我的 cp 语法一定是错误的。我尝试了 /home/a/*/home/a/home/a/ 但它们都不起作用。

有什么办法可以在 bash shell 中做到这一点吗?

最佳答案

您已经快到了,但您需要考虑该目录中没有文件的情况。

使用 bash 中的正确选项,这相当简单:

#! /bin/bash

shopt -s nullglob # to get an empty list if no file is present

while true ; do
for i in * ; do
echo "Intercepted $i"
cp "$i" /home/a/
done
sleep 1
done

(请注意,这通常非常不可靠。您可以复制部分写入的文件、完全丢失文件等)

关于linux - 每 2 秒检查一次目录内容,如果 bash 中存在某个文件,则复制其内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10382008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com