কী আদেশ নেওয়া হয়েছে তা যাচাই করবেন?


9

আমার কাছে একটি শেল স্ক্রিপ্ট কল করা foo.shআছে /usr/local/sbin। পাশাপাশি আমি একই নামের সাথে অন্য একটি স্ক্রিপ্ট ব্যবহার করি। এটি সংরক্ষণ করা হয় /home/user/scripts

উভয় পথই অন্তর্গত PATHfoo.shকমান্ড লাইনে টাইপ করার সময় এই স্ক্রিপ্টগুলির মধ্যে কোনটি কার্যকর করা হয় তা আমি কীভাবে জানতে পারি ? আমি কি এটি প্রভাবিত করতে পারি?

উত্তর:


10

কিছুদিন আগে আমি আমার উত্তর নিয়ে সন্তুষ্ট ছিলাম। আমি আরও জানতাম যে whichকমান্ডটি কোন কমান্ড বিদ্যমান কিনা তা পরীক্ষা করার জন্য ব্যবহৃত হয় না। এখন আমি আমার উত্তর নিয়ে এতটা সন্তুষ্ট নই এবং আমি এই দুর্দান্ত প্রতিক্রিয়াটি উল্লেখ করি ।


একটি সহজ whichকমান্ড সহ:

which foo.sh

বা একটি typeআদেশ:

type foo.sh

এবং আপনি $PATHস্ক্রিপ্টটি শুরু হওয়ার সাথে সাথে আপনার বা কোনও নিখুঁত পাথের পাথের ক্রম দিয়ে এটিকে প্রভাবিত করতে পারেন , EG

/home/user/scripts/foo.sh

উদাহরণ

যদি PATH নীচের হিসাবে সংজ্ঞায়িত করা হয়

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

এবং আপনি কোনও স্ক্রিপ্ট বা অন্য কিছু শুরু করেন যা এতে রয়েছে /usr/local/binএবং উচ্চতর অগ্রাধিকার হিসাবে /usr/binস্ক্রিপ্টটি /usr/local/bin


1
কথা বলতে bashএবং অন্তর্নির্মিত zshএছাড়াও typeআছে; পরিবর্তে zsh which, ভিন্ন থেকে bash, এটি একটি অন্তর্নির্মিত (এবং না /usr/bin/which)
কোস


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