如何将变量用作查找命令

时间:2016-01-13 08:33:27

标签: string variables path find

有人可以给我一个提示,我怎样才能让以下bash脚本正常运行:

path="/path/"
excludepath="! -path \"/path/to/exclude/*\" "

find "$path" "$excludepath" -name *."txt" -type f

当我尝试运行它时,我得到:

find: `! -path "/path/to/exclude/*"': No such file or directory

提前谢谢。

1 个答案:

答案 0 :(得分:0)

你的问题是"$excludepath"是一个参数,即使它包含空格。要放置多个参数,请使用字符串数组而不是字符串:

excludepath=(! -path "*webshow*")
find "$path" "${excludepath[@]}" -name "*.txt" -type f

这是一种基础,但是(偶然发现这种情况并且不使用bash的人将需要做其他事情。)