বর্তমান ডিরেক্টরিতে স্ক্রিপ্টগুলি চালানোর সময় আপনি কীভাবে "./" বাদ দেন


10

ইন্টারনেটে কিছু টিউটোরিয়ালে তারা না করেই বর্তমান ডিরেক্টরিতে স্ক্রিপ্ট চালাতে পারে:

./script

আপনি কীভাবে এটিকে বাদ দেন? আমি CentOS 5.6 x64 ব্যবহার করছি। আমি এটিকে এভাবে চালাতে চাই

script


3
মনে রাখবেন যে এটি প্রায়শই একটি খারাপ ধারণা, বিশেষত রুট ব্যবহারকারীর জন্য।
ডেভিড শোয়ার্টজ

1
। / এর পিছনে পুরো উদ্দেশ্য / গল্পটি কী?
পিট

আমি শুধু জানতে আগ্রহী কেন এটা সবসময় থাকতে হবে ./ am
Aivan Monceller

সর্বশেষ মন্তব্যটি পৃথক প্রশ্ন হতে পারে আইএমএইচও - সাধারণভাবে চলমান প্রোগ্রামগুলি সম্পর্কে এটি বোঝা একটি গুরুত্বপূর্ণ বিষয়!
rozcietrzewiacz

4
@ পিট (এবং আইভান): লিনাক্স / ইউনিক্সে, শেলটি কেবল তখনই প্রোগ্রামগুলি চালিত করে যদি সেগুলি তাদের পথটি জানে (আপনার নির্দিষ্ট পথ ব্যবহার করে বা PATH ভেরিয়েবলটি অনুসন্ধান করে)। এটি ধরে নেই যে আপনি উইন্ডোজের মতো বর্তমান ডিরেক্টরিটি অনুসন্ধান করতে চান। এটি আপনাকে PATH ভেরিয়েবলের মাধ্যমে অনুসন্ধান করতে বললে ঠিক তা অনুসন্ধান করে। '।' বর্তমান ডিরেক্টরি একটি রেফারেন্স। সুতরাং আপনি './script.sh' টাইপ করার সময় আপনি এটিকে পথটি বলছেন।
কাসিয়াস

উত্তর:


26

যেকোন:

  1. আপনার পাঠ্যপদে বর্তমান কার্যনির্বাহী ডিরেক্টরি যুক্ত করুন: PATH=${PATH}:.(এটি একটি সুরক্ষা ঝুঁকি হিসাবে বিবেচিত)
  2. স্পষ্টভাবে আপনার স্ক্রিপ্ট সম্বলিত পাথটি PATH-ভেরিয়েবলের সাথে যুক্ত করুন (যদি সেই ডিরেক্টরিতে লেখার অ্যাক্সেস সীমাবদ্ধ থাকে তবে এটি কোনও সুরক্ষা ঝুঁকি নয়)
  3. আপনার স্ক্রিপ্টটি যথাযথ জায়গায় রাখুন যেখানে প্যাথ ইতিমধ্যে পয়েন্ট করে (~ / বিন, / ইউএসআর / স্থানীয় / বিন, ...)

শেষ বিকল্পটি সম্ভবত সেরা।

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