জবাবদিহী ব্লকইনফাইলে অক্ষম চিহ্নিতকারী


11

আমি জবাবদিহি করার জন্য নতুন, তবে আমি ব্লকইনফিল ফাংশনটি সফলভাবে ব্যবহার করতে সক্ষম হয়েছি । তবে চিহ্নিতকারীদের inোকানো থেকে কীভাবে রোধ করা যায় তা আমি বুঝতে পারি না। আমি ডকুমেন্টেশন পড়েছি তবে এটি বর্ণনা করার জন্য এটি উপস্থিত হয়নি।

ব্লকইনফাইলে প্রতিটি ফাইলেই এটি প্রদর্শিত হয়।

# BEGIN ANSIBLE MANAGED BLOCK
# END ANSIBLE MANAGED BLOCK

উত্তর:


14

আমি গিথুব - এর মূল blockinfileমডিউলটি দেখেছি - উত্তর 2 এর আগে এটি উত্তরীয়ের সাথে বান্ডিল হয়নি। দেখা যাচ্ছে, চিহ্নিতকারীগুলি প্রকৃতপক্ষে ব্লকটি সনাক্ত করতে ব্যবহৃত হয় :

এটি উদ্দেশ্যমূলক আচরণ বলে মনে হচ্ছে। এটি নির্দিষ্ট সামগ্রী দিয়ে ব্লক চিহ্নিতকারী দ্বারা ঘিরে থাকা সমস্ত লাইনকে প্রতিস্থাপন করে।

এর অর্থ হ'ল আপনি যদি চিহ্নিতকারীগুলিকে সরিয়ে ফেলেন, blockinfileআর এই ব্লকটি সনাক্ত করতে সক্ষম হবেন না, যার ফলে প্রতিবার আপনি প্লেবুক চালানোর সময় ফাইলটিতে ব্লকটি যুক্ত করা হবে module

সুতরাং লিখিত ব্লকের আগে এবং পরে চিহ্নিতকারীগুলি মডিউলটির প্রয়োজনীয়তা এবং এটি সরানো যায় না।

এটি যদি এককালীন প্লেবুক হয় যা আর কখনও চালিত হয় না আপনি পরে বিকল্পটি lineinfileদিয়ে মডিউলটি চালাতে পারেন state: absent


পুরানো উত্তর:

ডক্স অনুসারে blockinfileমডিউলের একটি markerবিকল্প রয়েছে।

আপনি কি এটি একটি ফাঁকা স্ট্রিং বা মিথ্যাতে সেট করার চেষ্টা করেছিলেন?

blockinfile:
    dest: /var/www/html/index.html
    marker: ""

অথবা

blockinfile:
    dest: /var/www/html/index.html
    marker: False

1
উপরের অসম্পূর্ণ বিবৃতিটির জন্য দুঃখিত, কেউ দরজায় কড়া নাড়লো এবং আমাকে দৌড়াতে হয়েছিল। আমি গতকাল এই ধারণাগুলি চেষ্টা করেছিলাম। চিহ্নিতকারী: "" - ফাইলের উপরে এবং নীচে একটি লাইন যুক্ত করে। মিথ্যা: - কেবল ফাইলের নীচে এবং উপরে মিথ্যা শব্দ যুক্ত করুন। অন্য কোন ধারণা?
নিক

2
আমি আমার উত্তর আপডেট। চিহ্নিতকারীদের আসলে gthe মডিউল নিজেই প্রয়োজন হয় এবং এমনকি যদি আপনি পারেন তবে আপনি সম্ভবত সেগুলি সরাতে চাইবেন না। বিশদ জন্য আপডেট উত্তর দেখুন।
উদোয়ান

0

আমি এরকম কিছু করেছি ...

- name: Insert someline in somefile.sh
    blockinfile:
      path: /usr/share/somefile.sh
      block: -sometext
      insertafter: '-XX:originaltext'
      marker: ""
      backup: yes


 - name: Remove blank lines blockinfile put in
    lineinfile :
     path: /usr/share/somefile.sh
     state: absent
     regexp: '^$'
  • চিহ্নিতকারী "" ফাইলটিতে ফাঁকা লাইন প্রবেশ করবে
  • লাইনইনফাইল তাদের মুছে ফেলবে (অন্যান্য সমস্ত ফাঁকা লাইন সহ) তাই সাবধান!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.