在find中使用生成的参数数组/字符串

时间:2016-01-04 19:33:16

标签: bash shell unix

我想将生成的参数数组(或字符串)传递给bash中的find命令,但我尝试的所有内容都不起作用。它似乎与引用有关,但我不知道如何解决这个问题。

这是我尝试过的。

#!/bin/bash
path="/path/to/folders/"
excludes=()
excludes+=(" -not -path \"./cache/*\"")
excludes+=(" -not -path \"./tmp/*\"")
find $path -type f \( "${excludes[@]}" \) >test.txt

我刚收到此消息find: Der Pfad muß vor dem Suchkriterium stehen: -not -path "./cache/*"

1 个答案:

答案 0 :(得分:3)

您不需要引用多个参数,请尝试:

path="/path/to/folders/"
excludes=( -not -path "./cache/*" -not -path "./tmp/*" )
find "$path" -type f \( "${excludes[@]}" \) >test.txt