ফাংশনটির সংজ্ঞা পান এবং কোডটি প্রতিধ্বন করুন


18

আমি পাওয়ারশেলের মধ্যে একটি গতিশীল ফাংশন সংজ্ঞায়িত করেছি:

> function test { dir -r -fil *.vbproj | ft directory, name }

তারপরে আমি কেবল testসেই ফাংশনটি টাইপ করতে এবং চালাতে পারি, এটি অন্যান্য কমান্ডের সাথে পাইপিং করা যায় etc.

কমান্ডের সংজ্ঞা পেতে পারি এমন কোন উপায় আছে কি? আমি কি আমার ফাংশনের কোডটি প্রতিধ্বনিত করতে পারি test? (আমার ইতিহাসটি যেখানে আমি এটি সংজ্ঞায়িত করেছি সেখানে ফিরে যাওয়া ছাড়া?)

উত্তর:


21

নামে পরিচিত একটি ফাংশনের জন্য test:

$function:test

অথবা যদি ফাংশনটির নামটিতে হাইফেন থাকে (উদাঃ test-function):

${function:test-function}

বিকল্পভাবে:

(Get-Command test).Definition


3

বর্তমান উত্তরগুলি কেবলমাত্র স্থানীয়ভাবে তৈরি করা ফাংশনগুলির জন্য কাজ করবে। আপনি উদাহরণস্বরূপ, দেশীয় ফাংশনগুলির সংজ্ঞা দেখতে পারেন Get-EventLog

সমস্ত উপলব্ধ ফাংশনগুলির তালিকার জন্য, আপনি চালাতে পারেন:

Get-ChildItem Function::

এগুলির যে কোনওটিতে প্রবেশ করা যায় ${function:myFn}বা(Get-Command myFn).Definition

আপনি যদি স্থানীয় ফাংশনগুলিতে উঁকি দিতে চান তবে আপনি এই কোডটি চালাতে পারেন :

$metadata = New-Object system.management.automation.commandmetadata (Get-Command Get-EventLog)
[System.management.automation.proxycommand]::Create($MetaData) | out-file C:\Get-EventLog.ps1
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.