我正在嘗試在 jenkinsfile 中執行以下腳本
awk 'NR==FNR{new=new $0 ORS; next} /^}]$/{printf "}],\n%s", new} 1' output2 ${WORKSPACE}/${REPO}/file1 >> output2
該腳本在 linux 命令提示符中運行良好,但嘗試在 jenkins 檔案中運行時出錯。我在下面嘗試
sh """
awk 'NR==FNR{new=new $0 ORS; next} /^}]$/{printf "}],\n%s", new} 1' output2 ${WORKSPACE}/${REPO}/file1 >> output2
"""
但它給出了語法錯誤
uj5u.com熱心網友回復:
您需要注意轉義單引號或雙引號、反斜杠和美元符號。在這里,我逃脫了一切:
sh """
awk \'NR==FNR{new=new \$0 ORS; next} /^}]\$/{printf \"}],\\n%s\", new} 1\' output2 \${WORKSPACE}/\${REPO}/file1 >> output2
"""
如果 ${WORKSPACE} 或 ${REPO} 是您希望用 groovy 而不是 sh 替換的管道環境變數,也許您實際上不想轉義它們。也許您不需要轉義三重“””多字串中的單引號。但您肯定需要轉義\\n.
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/454491.html
上一篇:Firestore集合訂閱定價
