কেন শেল স্ক্রিপ্টে তুচ্ছ অক্ষরগুলি এড়ানো যায়?


23

আমি সবেমাত্র একটি লিগ্যাসি শেল স্ক্রিপ্ট খুলেছি (সোলারিসে পুরাতন ksh88 তে লিখিত) এবং নীচের সমস্ত কোডটিতে পুনরাবৃত্তি পেয়েছি:

[ -f $myfile ] && \rm -f $myfile

পালানো ব্যাকস্ল্যাশ আমাকে বিজোড় হিসাবে আঘাত করে।

আমি জানি এটি ইচ্ছাকৃত, যেহেতু এই ধরণের (আপাত নিরর্থক) পালানো সমস্ত কোডেই পুনরাবৃত্তি হয়। মূল লেখক দীর্ঘ চলে গেছে, আমি তাকে জিজ্ঞাসা করার জন্য তাঁর সাথে যোগাযোগ করতে পারি না।

এটি কি কেবল লেখকের মজাদার আইডিসিঙ্ক্রেসি বা এটি হ'ল এক ধরণের অবহেলিত ভাল অনুশীলন যা কোনও এক মুহূর্তে বোধগম্য হয়েছিল? অথবা সম্ভবত আসলে কাজ করার প্রস্তাবিত উপায় এবং আমি পুরোপুরি কিছু মিস করছি?


3
যদিও এর পক্ষে যুক্তিসঙ্গত কারণ রয়েছে, তবে এই পদ্ধতিটি ব্যবহার করে স্ক্রিপ্টে ওরফে সুরক্ষা প্রদান করা উচিত নয় যাকে আমি "প্রস্তাবিত" বলি। স্ক্রিপ্টের শীর্ষে উলামের নামটি সাফ করার জন্য বা rmপুরো পথ ধরে প্রার্থনা করার পক্ষে এটি যথেষ্ট ।
সোর্পিগাল

উত্তর:



5

আরএমের জন্য কিছু সুরক্ষাকারী নিক্ষেপ করা সাধারণত ভাল অনুশীলন, যা সাধারণত এলিয়াসিং দ্বারা অর্জন করা হয়। মাল্টিউজার এনভায়রনমেন্টে, আপনি প্রায়শই এই জায়গাগুলিতে অনেকগুলি সুরক্ষা দেখতে পাবেন।

শেল স্ক্রিপ্টিং প্র্যাকটিশনারের জন্য, সম্ভবত এই সুরক্ষাগুলি অক্ষম করা কোনও ব্যক্তির পক্ষে সম্ভবত কার্যকর হয়, তারা জানেন যে তারা কী করছে। উল্লিখিত হিসাবে এটি ক দ্বারা কমান্ডটি প্রিফ্যাক্স করে সম্পন্ন হয় \

@ সর্পিগালের পরামর্শের বিপরীতে, আমি অবশ্যই এলিয়াস সেট না করার বিরুদ্ধে অবশ্যই পরামর্শ দেব, পাছে স্ক্রিপ্টটি ব্যবহারকারীকে তাদের সুরক্ষার ফিরিয়ে দিতে ব্যর্থ হয়। তদতিরিক্ত, একটি পূর্ণ পথ ব্যবহার করাও বুদ্ধিমানের কারণ আরএম কোনও কারণে সহায়ক পথে থাকতে পারে - যেমন জিএনইউ আরএম বনাম বিএসডি আরএম। এটিকে একটি কঠোর পথ দিয়ে ওভাররাইড করা হ'ল PATHs করার উদ্দেশ্যকে পরাস্ত করা, যথা, অনেকগুলি আর্কিটেকচার, পরিবেশ এবং ব্যবহারকারীদের স্কেল এবং পরিচালনা করা।


3
সাধারণ হওয়া সত্ত্বেও, এলিয়াস rmকরা ভাল নয় তবে বেশ দরিদ্র এবং দুর্ভাগ্যজনক অনুশীলন।
jlliagre
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.