为包含文件路径

时间:2017-07-04 04:48:48

标签: bash shell command variable-assignment

我一直在寻找关于在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

所需输出

let

1 个答案:

答案 0 :(得分:0)

要将命令输出分配给shell变量,请将命令括在反引号(``)中。所以你的命令看起来像这样:

Company |Address| Business              | Telephone Number | Contact Person

A&B     | Perak | Khmer Restaurants, F&B| 012541           | Mr. Yu Lee
King Co.| Ipoh  | Paper Distributors    | 021453, Null     | Mrs. Cheng
DinoX   | Sunway| Guesthouses           | 0124587          | Mr. Hong, Mr Q