0

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

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

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

标志 '' 无法识别

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

4

1 回答 1

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 不会将“”解释为引号。

于 2016-10-27T10:03:47.277 回答