【问题标题】:Syntax error near unexpected token `(' with mv !(build)意外标记 `(' 附近的语法错误与 mv !(build)
【发布时间】:2018-02-02 12:20:31
【问题描述】:

我正在尝试使用 Jenkins 构建过程运行以下 shell 命令

mv !(build) build

现在构建失败说

$ /bin/bash -xe /tmp/jenkins2925091423898519645.sh
/tmp/jenkins2925091423898519645.sh: line 2: syntax error near unexpected token `('

但奇怪的是,当直接在 Jenkins slave 上运行此命令时,它运行良好。

如您所见,Jenkins 也使用 /bin/bash -xe 运行 shell 命令。

任何帮助将不胜感激,因为我已经为此苦苦挣扎了好几个小时

【问题讨论】:

  • 如果可以使标题足够具体,以便某人无需点击文本即可判断他们是否遇到同样的问题,请这样做 --它使您的问题对其他人更有用。我已尝试在此处进行编辑。

标签: linux bash shell jenkins


【解决方案1】:

!(build) 是一个扩展模式,由shopt -s extglob 启用。目前尚不清楚它是如何在您的 Jenkins slave 中启用的,但是将该命令添加到您的脚本应该可以解决您的问题。

【讨论】:

    猜你喜欢
    • 2015-04-01
    • 2012-08-31
    • 2012-10-20
    • 2012-09-29
    • 2013-12-11
    • 1970-01-01
    • 1970-01-01
    • 2014-09-01
    相关资源
    最近更新 更多