标志''无法识别

时间:2016-10-27 09:35:50

标签: bash arcsight

我需要编写一个bash脚本,第一个工作是从arcsight ESM导出包。之后,它需要将导出的档案移动到连接器服务器,但我还没有到达那个部分。我的问题是:根据arcsight ESM手册,导出包的命令如下:

arcsight package –action export –package “/All Packages/Personal/Mypackage” –f packagebundle.arb –u username –p password –m managername

该命令只需要从ESM服务器上的arcsight主目录运行,否则bash不会将arcsight识别为命令。我这样做了,该命令似乎运行良好,因为它设法登录到ESM,返回说它正在导出包,但后来我得到了

  

标记''无法识别

然后停止。它没有完成导出包,因为在运行命令后目标文件夹中没有“packagebundle.arb”文件。所以我想问一下是否有人知道这个错误是什么以及如何解决它。直到现在才发现它。 ArcSight版本为6.9,Linux版本为RHEL 5.5。

1 个答案:

答案 0 :(得分:0)

我认为问题在于你引用了一个卷曲的引用,如下所示:“,而不是直引用,如下所示:"。

一些文本编辑器将直接引号更改为卷曲,因为它们看起来更好。但这会破坏shell可执行文件,因为它无法识别卷曲引号。

使用直引号arcsight package –action export –package "/All Packages/Personal/Mypackage" –f packagebundle.arb –u username –p password –m managername

,您的命令应如下所示

示例:使用直引号和卷曲引号进行回显

直引号:

echo "test"
> test

Qurly引用:

echo “test“
> “test“

正如你所看到的,bash没有将“解释为”。