在变量中附加命令的可能性

在变量中附加命令的可能性

我有一个包含 find 命令的变量

LST_FILE=$(find . -type f \( -name -o '*xml*' -o -name -o '*log*' \) -mmin 180)

是否可以附加命令?我的意思是这样

LST_FILE+=$(-delete)

或者可能

DEL=$(-delete)
LST_FILE+=${DEL}

我需要知道,因为我有几个需要执行的查找命令,并且每个命令都有不同的选项,所以我决定将命令放入变量中,并计划将其附加到与条件相关的每个选项。

答案1

首先,你的find命令是错误的。你要这个:

find . -type f \( -name  '*xml*' -o -name '*log*' \) -mmin 180

接下来,您的变量不包含find命令,它包含输出的一个find命令。我怀疑你真正想要的是这样的:

find_command='find . -type f ( -name  *xml* -o -name *log ) -mmin 180'
del="-delete"

然后,要将 添加-delete到命令中,您可以执行以下操作:

find_command="$find_command $del"

要执行它,您只需运行:

$find_command

但请阅读使用 shell 变量作为命令选项http://mywiki.wooledge.org/BashFAQ/050。尝试使用变量来运行命令时会出现很多复杂情况。

相关内容