2017-10-20 2 views
-2

jookinの上に構築されたルーパーでは、yml形式のシェルスクリプトを定義してジョブを実行する必要がありました。dirが存在するかどうかをチェックする構文がymlファイル内で機能していない

私はYAMLの初心者です。エコーのような他のコマンドは全てwgetが動作します。フォルダが存在するかどうかを確認してから、dirを削除すると、ルーパージョブを実行しようとするとエラーが発生します。

私はYAMLファイルで定義された流れを持っており、一つのフローでは、私はそのフォルダが、それは誤りの下に私を与えていることに

- [[ -d "$WORKSPACE/codometer-runner" ]] && rm -r $WORKSPACE/codometer-runner 

を削除存在するかどうかを確認するには、以下の行を与えた:

が期待アルファベットまたは数字であるが見つかりました& 10:06:00 'reader'、34行、47桁目: 10:06:00 ... WORKSPACE/codometer-runner]] & & rm -r $ WORKSPACE/codometer-runner 10:06:00^

YAMLにフォルダが存在するかどうかを確認する方法を教えてください。

+0

YAMLは一般的なマークアップ言語です。あなたはあなたの質問を言い換えるべきです。 –

答えて

1

YAMLでは、[がフローシーケンスを開始します。したがって、[で始まるプレーンスカラーを持つことはできません。あなたは、いくつかのオプションがあります。

  • はブロックスカラを使用します。

    - >- 
        [[ -d "$WORKSPACE/codometer-runner" ]] && rm -r $WORKSPACE/codometer-runner 
    

    >が続く-は末尾に改行を追加しないようにYAMLを伝え、折りたたまれたブロックのスカラーを開始します)。

  • シングルクオートスカラー:

    - '[[ -d "$WORKSPACE/codometer-runner" ]] && rm -r $WORKSPACE/codometer-runner' 
    
  • 二重引用符スカラー:

    - "[[ -d \"$WORKSPACE/codometer-runner\" ]] && rm -r $WORKSPACE/codometer-runner" 
    

    スカラーは二重引用符が含まれているので、あなたはそれらをエスケープする必要があります。

+0

が答えを見つけました。ありがとうございます。 – user3773712

関連する問題