আপনি পসিক্স ২০০৮ এর সমস্ত সংস্করণের HTML সংস্করণ অনলাইনে খুঁজে পেতে পারেন:
এটি ২০০৮ সংস্করণে যুক্ত হয়েছিল।
প্রযুক্তিগত কর্নঞ্জা সাধারণত নতুন বৈশিষ্ট্য যুক্ত করে না।
আপনি আগের সংস্করণটি দেখতে পারেন ( http://pubs.opengroup.org/onlinepubs/009695399/utilities/rm.html ) (পোসিক্স 2004) তে এই পাঠ্যটি নেই।
এই মানটি পরবর্তী সংস্করণে অন্তর্ভুক্তির জন্য 2003-05-09 অস্টিন গ্রুপ সম্মেলনে নতুন পাঠ্য গৃহীত হয়েছিল ।
এটি একই বছরের মার্চ মাসে সান মাইক্রোসিস্টেমসের জন বেক দ্বারা অনুরোধ করা হয়েছিল (লিঙ্কটির জন্য ওপেনগ্রুপ নিবন্ধকরণ প্রয়োজন, এছাড়াও এখানে উন্নয়নের অনুরোধ নম্বর 5 দেখুন )।
জন বেক লিখেছেন, মঙ্গলবার ১১ মার্চ ২০০৩ এ:
@ page 820 line 31681-31683 section rm comment {JTB-1}
Problem:
Defect code : 3. Clarification required
An occasional user mistake, with devastating consequences, is to
write a shell script with a line such as:
rm -rf $VARIABLE1/$VARIABLE2
or
rm -rf /$VARIABLE1
without verifying that either variable is set, which can lead to
rm -rf /
being the resulting command. Since there is no plausible
circumstance under which this is the desired behavior, it seems
reasonable to disallow this. Such a safeguard would, however,
violate the current specification.
Action:
Either extend the exceptions for . and .. on the noted lines
to list / as well, or specify that the behavior of rm if an
operand resolves to / is undefined.
জিএনইউ 2003-10-09 এর এই প্রতিশ্রুতিতেrm
যুক্ত হয়েছে --preserve-root
এবং --no-preserve-root
বিকল্পগুলি করেছে , তবে কেবল 2006-09-03 এর প্রতিশ্রুতিতে এটি ডিফল্ট হয়ে গেছে , সুতরাং কোর্টিলগুলিতে 6.2--preserve-root
ফ্রিবিএসডি 2004-10-04 কমিট করার পর থেকে স্ল্যাশ সংরক্ষণ করে চলেছে ( "আমার অন্তর্বাসটি আসলে কী শিখা-প্রমাণ রয়েছে তা" কমিট লগের সাথে সন্ধান করুন), তবে প্রাথমিকভাবে যখন তা ছিল না , যতক্ষণ না তারা এক দশক পরে চেক করতে ভুলে যায় যে পসিএক্স এখন ছিল এটি পজিক্স মোডেও সম্পন্ন করা হয়েছিল এমন সময়ে এটি নির্ধারণ করা ।POSIXLY_CORRECT
ফ্রিবিএসডি প্রাথমিক প্রতিশ্রুতিতে উল্লেখ করা হয়েছে যে সোলারিস ইতিমধ্যে সেই সময়ে এটি করছিল।
@ জেডিপিবি (নীচে মন্তব্যে) সোলারিস উত্স সম্পর্কে আরও বিশদ দেওয়ার জন্য এবং সূর্যের অভ্যন্তরীণ গল্পের সংযোগটি খুঁজে পেয়েছিল এবং পরামর্শ দিয়েছে যে অস্ট্রিন গ্রুপকে অনুরোধ করার আগে সোলারিসের ইতিমধ্যে সেফগার্ড ছিল।
এটি বাদ দিয়ে যুক্ত করার যুক্তি ব্যাখ্যা করে। যদিও কেউ কেবল নিজেকেই দোষারোপ করতে পারে rm -rf /
, সেখানে এমন একটি ঘটনা রয়েছে যেখানে কোনও স্ক্রিপ্ট তা করতে পারে কিনা তা rm -rf -- "$1/$2"
পরীক্ষা না করে $1
/ সরবরাহ করা $2
হয়েছিল যা সোলারিস প্যাচটিকে অপব্যবহার করার সময় কিছু সান গ্রাহকদের খারাপ ক্ষতি করে (সেই লিঙ্ক অনুসারে)।
মুছে ফেলা নিষেধ .
এবং এর ..
বহু আগে এবং আবার যুক্ত করা হয়েছিল সম্ভাব্য দুর্ঘটনার বিরুদ্ধে সুরক্ষার জন্য। rm
এখনও একটি বিপজ্জনক আদেশ। এটি এর অর্থ যা বোঝায় তা করে: আপনি যা বলছেন তা সরিয়ে দিন।
rm -rf /*
cd /tmp && rm -rf .*/ # on some systems where rm -rf ../ still removes
# the content of ../ and shells that still
# may include . and .. in glob expansions.
rm -rf -- "$diretcory"/* # note the misspelled variable name
dir='foo '; rm -rf $dir/*
সবকিছু মুছে ফেলবে। শেল ফাইলের নাম সমাপ্তি যখন আপনি করেন তখন এ জাতীয় সমস্যাগুলির কারণ হিসাবে পরিচিত
rm -rf someth<Tab>/*
এতে প্রসারিত:
rm -rf something /*
কারণ something
তাই ঘটেছে ডিরেক্টরি হতে না।
শেলগুলি পছন্দ করে tcsh
বা একটি ওয়াইল্ডকার্ডের সাথে zsh
কল করার চেষ্টা করার সময় একটি অতিরিক্ত প্রম্পট যোগ করবে ( ডিফল্টরূপে নয়)।rm
*
tcsh