标志“ ”未被识别

the flag ' ' is not recognized

我需要编写一个 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,return 说它正在导出包,但后来我得到

The Flag '' is not recognized

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

我认为问题在于您使用的是弯引号,例如:“,而不是直引号,例如:”.

一些文本编辑器将直引号更改为弯引号,因为它们看起来更好。然而,这确实会破坏 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 不会将“ 解释为引号。