【问题标题】:Error while running shell script in Jenkin pipeline在 Jenkins 管道中运行 shell 脚本时出错
【发布时间】:2020-05-08 20:29:17
【问题描述】:

我需要从目录中删除所有文件,除了与变量中定义的名称匹配的文件。

                stage ('build'){
                        sh "npm run build"
                        sh 'rm -v !(''''dist/folder1/file.''' + name+ '''.json'''')'
                    }

第一行为 Angular 项目创建一个构建,它有 dist 文件夹,我需要在其中删除文件夹 1 中的文件。

错误如下

语法错误:“(”意外与 rm 排除文件命令

【问题讨论】:

    标签: angular shell jenkins groovy build


    【解决方案1】:

    您可以在here 中找到错误详细信息和替代解决方案。试试下面的代码:

    sh "find . ! -name 'file.${name}.json' -type f -exec rm -f {} +"
    

    【讨论】:

    • 我试过了,但它给出了同样的错误。 script.sh:语法错误:“(”意外
    • 试试()的转义字符
    • 我不能使用 escape char () 因为没有这个它考虑! char 作为 ex 目录的一部分。 sh "rm -v !dist/folder1/file.${name}.json"
    • 使用转义字符后,在詹金斯管道 WorkflowScript 中出现以下错误:102:意外字符:'\'
    • 谢谢Sers,它工作正常。谢谢你的帮助。我接受你的回答。
    猜你喜欢
    • 2014-04-16
    • 2019-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 2022-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多