আপনি কত উপায়ে বাশে একটি "ওরফে" তৈরি করতে পারেন?


10

আমি কেবল দুটি উপায় জানি: alias foo=barএবং function foo() { bar }

আমি জিজ্ঞাসার কারণটি হ'ল - আমার বাশ সেশনের একটিতে হঠাৎ করে - আমি lnকমান্ডটি চালাতে পারি না কারণ এতে bashত্রুটিযুক্ত হয়ে -bash: /usr/local/.../ln: No such file or directoryচলেছে (যেখানে /usr/local/.../আমার PATHপরিবেশের পরিবর্তনশীলগুলির মধ্যে একটি এন্ট্রি রয়েছে )।

PATHযদিও এটি কোনও সমস্যা নয়, কারণ আমি যদি which lnএটি চালনা করি তবে এটির প্রত্যাশিত বাইনারিকে আউটপুট করে দেয় /usr/bin/ln(আমি যদি চূড়ান্ত পথটি নির্দিষ্ট করি তবে আমি ভাল চালাতে পারি)।

আমি lnআমার aliasএবং functionঘোষণাপত্রগুলিও পরীক্ষা করেছিলাম , এবং কিছুই নেই:

$ declare -f | grep ln
$ alias | grep ln

সমস্যাটি কেবল একটি বাশ সেশনেই ঘটছে। যদি আমি একটি নতুন শেল শুরু করি তবে এটি আবার ঠিকঠাক কাজ করে তবে আমি জানতে চাই বাশের এই একটি বিশেষ অধিবেশনে হঠাৎ করে কী কারণে এই সমস্যাটি ঘটেছে।

এর কারণ হতে পারে এমন কোনও ধারণা?

উত্তর:


10

whichকমান্ডটি ব্যবহার করার সময় সতর্কতা অবলম্বন করুন । type ...কমান্ড ব্যবহার করা ভাল ।

$ type ln
ln is /bin/ln

আপনি whereisকমান্ডটি ব্যবহার করতে পারেন :

$ whereis ln
ln: /bin/ln /usr/share/man/man1p/ln.1p.gz /usr/share/man/man1/ln.1.gz

তুমি ঠিক বলছো! আমি যখন দৌড়ব তখন আমি যা type lnপাই ln is hashed (/usr/local/.../ln)যা সমস্যা হিসাবে দেখা দেয় তবে এর "হ্যাশ" হ'ল এর অর্থ কী? বাশে আমি এই বৈশিষ্ট্যটি কখনও শুনিনি।
ইথারিস

3
@ এথেরিস - বাশ একটি কমান্ডের নাম এবং এটি কোথায় রয়েছে তার একটি হ্যাশ (একটি কী = মান তালিকা) বজায় রাখে। আপনি hash -lকমান্ড দিয়ে তালিকা দেখতে পারেন । আপনি কমান্ড ব্যবহার করার সাথে সাথে এটি গতিশীলভাবে নির্মিত built
slm

@ থাইরিস - আমি আপনার প্রশ্নটিকে কেবলমাত্র উচ্চতর করে দিয়েছি যাতে আপনি 8-8 এর কাছাকাছি মাত্র 4 pts)। আপনার সমস্যার সমাধান হয়ে গেলে আপনি উত্তরটি গ্রহণ করতে পারেন এবং আপনি এটি সেরা উত্তর বলে মনে করেন।
slm

@ এথারিস - সেখানে এখন অন্য কেউ আপনাকে উত্সাহিত করেছে এখন আপনার 16 টি পিটিএস রয়েছে।
slm

1
ধন্যবাদ! আমি hash -rকমান্ড-টু-পাথ হ্যাশটেবলটি পুনরায় সেট করতে দৌড়ে এসে lnএখন কার্যক্রমে ফিরে এসেছি ।
ইথারিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.