আমি সংশোধন সক্ষম করেছেন (আমি একে ডাকতে না স্বয়ং সংশোধন 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
অস্তিত্বের মধ্যে উপস্থিত হয় বা কেবল সাময়িকভাবে অক্ষম থাকে?