অসম্পূর্ণ ডিরেক্টরিটির নাম দেওয়ার পরে সিডি-র স্বয়ংক্রিয়ভাবে নির্বাচন করা কি স্ট্যান্ডার্ড আচরণ নয়?


17

আমার কাছে তিনটি ফোল্ডার কল হয়েছে ProjectA, ProjectBএবং ProjectC। আমি যখন tabকমপ্লিট cdহয়ে cd Projectপ্রেস করি তখন Enterএটি চয়ন করে ProjectC। আমি খুঁজে পেয়েছি এটি অন্যান্য অনুরূপ মামলার ক্ষেত্রেও এটি; এটি অভিধানের ক্রমে সর্বশেষে ডিফল্ট হয় (তবে এটি সম্প্রতি পরিবর্তন / যুক্তও হতে পারে)।

এটি কি প্রত্যাশিত ডিফল্ট আচরণের জন্য cd, বা আমি এখানে দুর্ঘটনাক্রমে কিছু সেট করেছি?

আমি ওএসএক্স 10.10.3 চালাচ্ছি, ব্যাশ 4.3 দিয়ে।

উত্তর:


18

আমি সেই আচরণের মুখোমুখি হই না। তবে আমি এটি পুনরুত্পাদন করতে সক্ষম হয়েছি। হতে পারে আপনি সনাক্ত করে অপশনটি পরিবর্তন করেছেন cdspell। দেখুন ব্যাশ রেফারেন্স ম্যানুয়াল :

cdspell

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

আমি এটি চেষ্টা করেছিলাম এবং এটি সর্বদা প্রদত্ত যুক্তি অনুসারে পথটিকে সংশোধন করে cd। যদি সঙ্গে আপনার ফোল্ডারে মত একাধিক সম্ভাবনার হয় ProjectA, ProjectBএবং ProjectCএকটি ডিরেক্টরী অনুক্রমে গত যে, এটা অক্ষমতা। আপনি এটি দ্বারা পরীক্ষা করতে পারেন ls -U। উদাহরণ দেখুন:

user@host:~$ ls -Ul
total 0
drwxr-xr-x 2 root root 40 May 26 08:11 ProjectA
drwxr-xr-x 2 root root 40 May 26 08:11 ProjectB
drwxr-xr-x 2 root root 40 May 26 08:11 ProjectC
user@host:~$ cd Project<tab><tab>
ProjectA/ ProjectB/ ProjectC/
user@host:~$ cd Project
ProjectC
user@host:~/ProjectC$

এই ব্যবহারটি অক্ষম করতে:

shopt -u cdspell

আকর্ষণীয়, তবে কেন এটি ডিরেক্টরি ক্রমে সর্বশেষ যেটি চয়ন করে? এটি নথিভুক্ত বলে মনে হয় না।
ফাহিম মিঠা

আমি এর জন্য কোনও উত্স খুঁজে পাচ্ছি না। বাশের সোর্স কোডে একটি ফাংশন বলা হয় spnameযা সঠিক বানানযুক্ত ফাইলের নামটি দেয় না। এটি অনুপ্রাণিতthe code in "The UNIX * Programming Environment", Kernighan & Pike, Prentice-Hall 1984, pages 209 - 213.
বিশৃঙ্খলা

একটি ডকুমেন্টেশন বাগের মতো শোনাচ্ছে। আপনার সম্ভবত এটি বাশকে রিপোর্ট করা উচিত। যদি আপনি তা করেন তবে আপনি নিজের উত্তরে বাগের লিঙ্কটি অন্তর্ভুক্ত করতে পারেন।
ফাহিম মিঠা 26'15

@ চাওস হ্যাঁ হ্যাঁ, আমি দেখতে পাচ্ছি যে আমি shopt -s cdspellআমার মধ্যে সেট করেছি .bashrc(আমি একটি অনাক্স / লিনাক্স ক্রসকে সামঞ্জস্যপূর্ণ করে অনেক কপি-পেস্ট করেছি এবং .bashrcঅবশ্যই আরও মনোযোগ দেওয়া উচিত ছিল)। আমি আসলে এটি পছন্দ করি, আমি কেন এটি অনুসন্ধান করতে পারি না। ধন্যবাদ!
রব হল্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.