JavaScriptを少し実行するためにNashornエンジンを使用するJenkinsにbashスクリプトがあります。bashスクリプトでJavaScript構文エラーをキャッチ
bashスクリプト:
#!/bin/bash
"$JAVA_HOME/bin/jjs" -scripting allKeys.js | sort > resultKeys
allKeys.jsスクリプトが外部の場所から別のスクリプトをロードした後、いくつかの値を出力:
bundlesUrl="https://address.to/bundles.js";
load(bundlesUrl);
for (var bundle in bundles) {
if (bundles.hasOwnProperty(bundle)) {
for (var key in bundles[bundle]) {
print(bundle + "\t" + key + "\t\t\"" + bundles[bundle][key] + "\"");
}
}
}
しかし、bundlesUrlで指定されたJavaScriptファイルは時々不適切含んでいてもよいですエスケープされた特殊文字。これはもちろん、構文エラーを生成します。
jjs
は、構文エラーがありましたが、bashスクリプトは続行されます。
私は何とかその構文エラーをキャッチし、コード1でbashスクリプトを終了して、Jenkinsがマークを失敗としてビルドするようにします。
これを達成するための良い方法は何ですか?
編集:私は、私はset -e
'jjs'は、未処理の/構文の例外でエラーコードを指定していませんか? – Caramiriel
Jenkinsのコンソールログでは、 'jjs'のメッセージに構文エラーがあり、bashスクリプトが続行されているだけです。私がやりたいことはそこでスクリプトを終了することです。 –