আমি প্রোগ্রামক্রমে তৈরি জবাবযুক্ত প্লেবুক ব্যবহার করছি। সাধারণত, যেহেতু প্লেবুকগুলি কেবল YAML, এটি সোজা straight যাইহোক, যখন "সরল" ব্যবহার key=valueফর্ম, playbooks নয় বিশুদ্ধ YAML - তারা একটি এমবেডেড সামগ্রী অন্তর্ভুক্ত shlex-parsable ফর্ম।
এই ফর্মটিতে অস্পষ্টতা এড়াতে ( key=valueসেই আদেশটি কী যুক্তির সাথে যুক্তি বা জবাবদিহি করার পক্ষে যুক্তি?), এবং বিশ্লেষণ ও উত্পন্ন করার জন্য কেবল একটি একক ফর্ম্যাট আছে, আমি নিঃশর্তভাবে উত্তরগুলিতে উদাহরণস্বরূপ প্রদর্শিত জটিল আর্গম প্রক্রিয়াটি ব্যবহার করছি - উদাহরণ সংগ্রহস্থল ।
এটি নিম্নলিখিত ধরণের একটি বাক্য গঠন ব্যবহার করে:
action: module-name
args:
key1: value1
key2: value2
... যা ভাল এবং ভাল। যাইহোক, যখন জন্য এই ফর্ম ব্যবহার করার চেষ্টা shellবা commandমডিউল ( যার ডকুমেন্টেশন নামে একটি আর্গুমেন্ট পাস হচ্ছে হিসাবে প্রকৃত কমান্ড বর্ণনা free_form) এই এত ভাল কাজ করে না:
action: shell
args:
free_form: echo hello_world >/tmp/something
creates: /tmp/something
যখন আহ্বান করা হয়, এটি নিম্নলিখিতগুলি চালিত করে:
/bin/sh -c " free_form='echo hello_world >/tmp/something' "
... যা আমি অর্জন করার চেষ্টা করছি তা খুব বেশি নয়।
বিশুদ্ধ ওয়াইএএমএল সিনট্যাক্স ব্যবহার করে "ফ্রি-ফর্ম" কমান্ড গ্রহণ করে উত্তরযোগ্য মডিউলগুলি ব্যবহার করার সঠিক উপায় কী?
- shell: ...? যদি এই কাঠামোটি এমন কিছু হয় যা কেবলমাত্র নির্ভরযোগ্যভাবে হাতে তৈরি করা যায় যা কিছুটা প্রশ্নের পয়েন্টকে পরাস্ত করে।