我想将生成的参数数组(或字符串)传递给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/*"
答案 0 :(得分:3)
您不需要引用多个参数,请尝试:
path="/path/to/folders/"
excludes=( -not -path "./cache/*" -not -path "./tmp/*" )
find "$path" -type f \( "${excludes[@]}" \) >test.txt