【问题标题】:find and copy command not working in bash查找和复制命令在 bash 中不起作用
【发布时间】:2023-10-01 03:01:02
【问题描述】:

此行在终端中有效,但在 bash 脚本中无效:

cd /home/me/Downloads/Data/$currentYear/$currentMonth/$currentDay/
find . -name '*.wav' -exec cp {} $tempfolder \;

我正在尝试将所有 WAVE 文件从所有子目录复制到一个临时文件夹

【问题讨论】:

  • 你需要转义\{
  • 如果不看脚本并知道您所看到的和您期望的,就很难判断——“不起作用”并没有给我们任何提示。如果没有上下文,就无法判断是否设置了任何变量等。
  • @stark 通常不需要。
  • 当我回显它说 find 的那一行时。 -name '.wav' -exec cp {} home me data 这很奇怪,因为它应该说 find 。 -name '.wav' -exec cp {} /home/me/data
  • 双引号"$tempfolder".

标签: linux bash find copy


【解决方案1】:

所以,我解决了。事实证明, cd /home/me/Downloads/Data/$currentYear/$currentMonth/$currentDay/ 实际上并没有更改目录 find . 去工作。 该脚本试图在其自己的目录中查找文件。我写了find "$absolutePath" -name '*.wav' -exec cp {} "$tempfolder" \; 后它就起作用了

【讨论】: