【发布时间】:2017-12-07 09:52:27
【问题描述】:
我一直在寻找有关分配给 shell 中变量的命令的答案,但没有成功。我的脚本查找一个名为 2015may 的文件夹,该文件夹包含一个文件 4444444.xml。命令 find /path/zipfolders -name "*${array[$((i+1))]}*" -exec grep -l "${array[$i]}" {} + 使用这些参数 ["2015may","44444444"] 显示以下输出:path/filename_2015may.zip。问题是这个命令在将它分配给$command 时返回''。我认为将其分配给$command 时出现语法错误。感谢您为解决此问题提供的帮助。
脚本
command=$(find /path/zipfolders -name "*${array[$((i+1))]}*" -exec grep -l "${array[$i]}" {} +)
echo "$command"
实际输出
find /path/zipfolders -name "*${array[$((i+1))]}*" -exec grep -l "${array[$i]}" {} +
++ find /path/zipfolders -name '*2015may*' -exec grep -l 44444444 '{}' +
+ command=
+ echo ''
期望的输出
path/filename_2015may.zip
【问题讨论】:
-
您不需要
zgrep在zip文件中搜索。
标签: bash shell command variable-assignment