LoginSignup
1
2

More than 3 years have passed since last update.

「: =: unexpected operator」とか「: =~: binary operator expected」とか

Posted at

各アプリのCI/CD環境をJenkinsで構築中、1日の業務の1/3をロストさせたこの問題をメモしておくことに苦笑

失敗

次の内容をジョブに「シェルの実行」などのシェルスクリプトに設定しているとタイトルのエラーが出てしまう。
ちなみに#!bin/shにオプションを付けてないため異常終了ではなく正常終了する。

詳細: Jenkinsのシェルの実行について

#!/bin/sh

# TEST = "++++"
TEST = "++ERRORS++"

echo "$TEST"

if [ "$TEST" =~ ERRORS ] ; then
  exit 1
fi

echo "done!!"
exit 0

成功

スペースを消し、変数サイドのダブルクォーテーションを外してif [[ ~ ]]スタイルに調整するとタイトルのエラーは出なくなり、ちゃんと異常終了してくれる。

#!/bin/sh

# TEST="++++"
TEST="++ERRORS++"

echo "$TEST"

if [[ $TEST =~ ERRORS ]] ; then
  exit 1
fi

echo "done!!"
exit 0
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2