我有一个包含 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。尝试使用变量来运行命令时会出现很多复杂情况。