একটি sendmail.mc ফাইলে "dnl" এবং "dnl #" এর মধ্যে পার্থক্য কী?


10

একটি ফাইলের মধ্যে dnlএবং পার্থক্য কি ? আমি যদি কিছু সক্ষম করতে চাই তবে সামনে থাকা দরকার? তেমনি, আমি যদি কিছু "মন্তব্য করতে" চাই তবে আমার কোন উপসর্গের প্রয়োজন?dnl #/etc/mail/sendmail.mc

উদাহরণ স্বরূপ:

dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as well
dnl #
dnl FEATURE(masquerade_entire_domain)dnl
dnl #
dnl MASQUERADE_DOMAIN(localhost)dnl
dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl
dnl MASQUERADE_DOMAIN(foo.com)dnl
dnl MASQUERADE_DOMAIN(foo2.lan)dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
dnl MAILER(cyrusv2)dnl

উত্তর:


16

এখানে dnlএবং #এখানে একটি সূক্ষ্ম তবে গুরুত্বপূর্ণ পার্থক্য রয়েছে ।

dnlমানে "নতুন লাইনের মাধ্যমে মুছুন" । আপনি যখন sendmail.mcকোনও sendmail.cfব্যবহার করে m4(বা সম্ভবত কিছু সামনের দিকে) প্রক্রিয়াকরণ করবেন, তখন অক্ষরগুলি dnlএবং এরপরের নিউলাইন সহ তাদের অনুসরণ করা সমস্ত কিছু বাদ দেওয়া হবে। (এবং সেই সমস্ত লাইনই আউটপুটে অতিরিক্ত ফাঁকা রেখা দমন করে শেষ করে ))dnlsendmail.cf

শুরু কিছুই dnlলাইনের শেষে মাধ্যমে এটি করতে হবে sendmail.mcএবং মধ্যে sendmail.cf

অবশ্যই আউটপুটে থাকা যে কোনও কিছুই #হ'ল হয় সেন্ডমেল কনফিগারেশন, বা এর সাথে শুরু হওয়া একটি মন্তব্য যা সে হিসাবে অনুলিপি করা হবে sendmail.cf, যেখানে সেগুলি উপেক্ষা করা হবে।

#উপরে শুরু করা এবং মুছে ফেলা না হওয়া যে কোনও কিছুই এটিকে sendmail.cfমন্তব্য হিসাবে নিরস্ত অবস্থায় পরিণত করবে ।

আপনার উদাহরণে, কেউ মন্তব্য করা সমস্ত বৈশিষ্ট্য থেকে মুছে ফেলা sendmail.cfএবং সেই সাথে মন্তব্যগুলি বোঝাতে চেয়েছেন , কারণ উপস্থিত বৈশিষ্ট্যগুলি ছাড়াই মন্তব্যগুলি অর্থহীন হবে।


1
আপনি না আছে সঙ্গে একটি রেখাটি শেষ করতে dnlকিন্তু আপনি অতিরিক্ত ফাঁকা রেখা দিয়ে শেষ করব sendmail.cf। এবং হ্যাঁ, আপনি যদি কিছু কার্যকর করতে চান তবে এটি অবশ্যই উপস্থিত থাকতে হবে sendmail.cf...
মাইকেল হ্যাম্পটন

1
@ মাইকেবি এম 4 কেস সংবেদনশীল - DNLতা নয় dnl। দুঃখিত তবে আমি স্ট্যাক এক্সচেঞ্জ সাইটে খুব বেশি স্কোর সহ উত্তরগুলিতে কয়েকটি বোকা এম 4 বাগগুলি দেখেছি।
এএনএফআই

... এবং এর অর্থ এই যে আমি যদি একটি স্পষ্ট কনফিগারেশন বিকল্পটি কার্যকর করতে চাই তবে তা অবশ্যই এটির সামনে dnlবা dnl #সামনে থাকা উচিত নয় ...? এবং আমি সবসময় ডিএনএল দিয়ে এটি শেষ করতে চাই?
মাইক বি

@ আন্দ্রেজেএ.ফিলিপ ধন্যবাদ সাইটটি আমাকে প্রশ্ন সম্পাদনা করতে দেয় না তাই আমি এটি আবার যুক্ত করলাম।
মাইক বি

3

ডিএনএল এর অর্থ "নতুন লাইনের মাধ্যমে মুছুন" যার অর্থ সত্যিকারের "পরের লাইন পর্যন্ত 'ডিএনএল' এর পরে সমস্ত কিছু উপেক্ষা করুন"।

"ডিএনএল #" কেবল কৃত্রিম নামকরণ। যখন সেন্ডমেল.এমসি ফাইলটি প্রথম বিকাশ করা হয়েছিল তখন তারা আপনাকে জানতে চেয়েছিল যে "dnl ..." যা কিছু ছিল তা একটি কমান্ড / সেটিং যা মন্তব্য করা হয়েছিল এবং "dnl # ..." যা কিছু ছিল তা সত্যিই একটি বর্ণনামূলক মন্তব্য ছিল কোনও কমান্ড / সেটিং ছিল যা নিরবিচ্ছিন্ন হতে পারে কারণ '#' প্রায়শই একটি লাইনের শুরুতে "লাইনের শেষ অবধি কি অনুসরণ করা হয়" তা নির্দেশ করার জন্য ব্যবহৃত হয় a

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