আমি সংশোধন সক্ষম করেছেন (আমি একে ডাকতে না স্বয়ং সংশোধন zsh মধ্যে সক্ষম করে বিশেষভাবে এই সমস্যা হওয়ার কারণে) setopt correctআমার মধ্যে .zshrc।
এখন, আমি যখন dtaeটার্মিনালটিতে টাইপ করি তখন আমি পাই:
dtae
zsh: correct 'dtae' to 'date' [nyae]? y
Tue Mar 31 11:39:31 CEST 2015
এই মুহুর্তে আমি zsh আমার সিদ্ধান্ত মনে রাখতে চাই। সুতরাং পরের বার আমি টাইপ করার পরে dtaeএটি স্বয়ংক্রিয়ভাবে date[1] এ সংশোধন করা উচিত । যাইহোক, এটি ঘটে না, এবং zsh আবার আমাকে জিজ্ঞাসা করছে কী করণীয়:
dtae
zsh: correct 'dtae' to 'date' [nyae]?
[1] অবধি যদি না থাকে তবে অবশ্যই যদি সেই সময়টিতে একটি আসল dtaeকমান্ড বা ওরফে উপস্থিত থাকে ।
হালনাগাদ:
Zsh এর "সঠিক" কার্যকারিতাটির অনুরোধের সাথে স্বয়ংক্রিয়ভাবে তৈরি করা এলিয়াসগুলি যুক্ত একটি কাস্টম ফাইল তৈরি করতে আমি zsh উত্স কোড (ফাইল utils.c, ফাংশন spckword) সংশোধন করতে পেরেছি :
মূল:
if (x == 'y' || x == ' ' || x == '\t')
{
*s = dupstring(best);
if (hist)
hwrep(best);
}
সংশোধিত:
if (x == 'y' || x == ' ' || x == '\t')
{
char *aliaspath = getenv("HOME");
strcat(aliaspath, "/.zsh_correct_aliases");
FILE *out = fopen(aliaspath, "ab+");
fprintf(out, "alias %s=\'", *s);
*s = dupstring(best);
fprintf(out, "%s\'\n", *s);
fclose(out);
if (hist)
hwrep(best);
}
সম্পাদন করার পরে dtae, নিম্নলিখিত লাইনটি ফাইলটিতে যুক্ত করা হয় ~/.zsh_correct_aliases:
alias dtae='date'
যাইহোক, আমি জানি না কীভাবে ~/.zsh_correct_aliasesজায়গায় নতুন পরিবর্তিত ফাইল উত্স করা যায় ।
dtaeউপস্থিত থাকা অবধি অপসারণ করা হয়েছে , তারপরে / কখন dtaeসংজ্ঞায়িত না হলে পুনরায় ইনস্টল করা হবে।
command_not_found_handlerরানটাইমের পরিবর্তে সময় পার্সিংয়ের সময়) কল করা আরও জোর দেবে এবং তারপরে zsh কোডে যুক্তিটি বাস্তবায়ন করুন।
dtaeঅস্তিত্বের মধ্যে উপস্থিত হয় বা কেবল সাময়িকভাবে অক্ষম থাকে?