আমি কীভাবে zsh এ একটি ফাংশন তৈরি করতে পারি যা একই নামের সাথে একটি বিদ্যমান কমান্ডকে কল করে?


9

আমি কীভাবে কোনও ফাংশন লিখতে পারি zshযে ফাংশনটির একই নাম সহ একটি বিদ্যমান কমান্ডকে অনুরোধ করে? উদাহরণস্বরূপ, আমি আমার প্রশ্নটি ব্যাখ্যা করার জন্য এটি চেষ্টা করেছি:

function ls 
{
    ls -l $1 $2 $3
}

যখন আমি এটির সাথে সম্পাদন করি তখন আমি ls *নিম্নলিখিতগুলি পাই:

ls:1: maximum nested function level reached

আমি ধরে নিই কারণ এটি ফাংশনটি পুনরাবৃত্তভাবে বলা হচ্ছে। আমি কীভাবে এড়াতে পারি?

এটি একটি অপরিশোধিত উদাহরণ, এবং এই ক্ষেত্রে একটি উপনামটি কাজটি করবে, তবে আমার আরও জটিল উদাহরণ রয়েছে যেখানে একটি উলাম উপযুক্ত নয় এবং তাই আমার একটি ফাংশন লিখতে হবে।

উত্তর:


25

যা ঘটছে তা হ'ল আপনি পুনরাবৃত্তভাবে আপনার lsফাংশনটি কল করছেন । বাইনারি ব্যবহার করার জন্য, আপনি ZSH এর commandবিল্টিন ব্যবহার করতে পারেন ।

function ls {
    command ls -l "$@"
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.