查找:没有该文件或目录

查找:没有该文件或目录

为什么

$ while true ; do 'date; time find /tmp/test -type f \
  -exec cp /dev/null {} \;';sleep 3600; done

不起作用,而是返回错误消息:

-bash: date; time find /tmp/test -type f -exec cp /dev/null {} \;: No such file or directory

我尝试过逃避;{}但仍然遇到同样的错误。是的,有一个/tmp/test目录。

答案1

的参数do是单个命令;进一步的命令使用命令链。

while true ; do date ; find ... ; sleep 3600 ; done

答案2

while true; do
    date
    time find /tmp/test -type f -exec cp /dev/null {} \;
    sleep 3600
done

命令中的单引号使 shell 将带引号的字符串解释为要执行的命令的名称,但它找不到它,这就是您收到该特定错误的原因。

每小时清空文件的另一种方法/tmp/test是通过具有以下时间表的 cronjob:

0 * * * * find /tmp/test -type f -exec cp /dev/null {} \;

答案3

删除引号,它将按预期工作(是的,您必须连续有两个分号)。

相关内容