ジョブフローからスクリプトジョブ実行の際の引数について
KompiraEnterpriseでジョブフローからスクリプトジョブを呼び出す処理を作成しております。
ジョブフローのパラメータをスクリプトジョブに引数として渡したところ、一部の文字(※)が含まれていた場合に正しく引数を渡せないことがわかりました。
(※); & ( ) < > $ ` | \ 半角スペース タブ
実際のテストジョブは以下のように作りました。
- |AA = "テスト|test"|
- print('代入後:$AA')
- ->
- [./test_script:'$AA']
そこで質問をさせてください。
※に記載されている記号をジョブフローからスクリプトジョブに引数として渡すことは可能でしょうか。可能な場合は正しい設定方法をご教示いただきたく。
以上となります。
ご確認のほどよろしくお願いいたします。
-
正式なコメント
フィックスポイントの高橋です。
スクリプトジョブはスクリプトを転送してパラメータを与えて実行しますが、スクリプトにパラメータを与える前に特殊文字がシェルで処理されて意図しない動作になることがあります。
そこで、以下のようにパラメータをシングルクォーテーションで囲むようにして渡してみてください。変数の文字列がそのままスクリプトの引数として与えられるようになっているのではないかと思います。
[test_script:"'$AA'"]
ちなみに、次のようにダブルクォーテーションで囲むようにすると、パラメータとして与えた文字列に環境変数参照などがあると実行環境のシェルで展開されて、上とは少し異なる動作になるはずです。目的に合わせて使い分けてみてください。
[test_script:'"$AA"']
以上、参考になさってみてください。
コメントアクション
サインインしてコメントを残してください。
コメント
1件のコメント