পাওয়ারশেলের বাশের `উত্স` কমান্ডের সমান?


15

লভ্য-বাই-লাইন বাশ স্ক্রিপ্ট চালাতে (উদাহরণস্বরূপ পরিবেশের ভেরিয়েবলগুলি সংরক্ষণ করার জন্য), নিম্নলিখিতটি করা উচিত:

$ . myscript.sh

বা:

$ source myscript.sh

আমার কাছে পাওয়ারশেল স্ক্রিপ্ট রয়েছে যা - অন্যান্য জিনিসের মধ্যে - ডাকা ফাংশনটির মাধ্যমে প্রম্পটের মান নির্ধারণ করে prompt। কেবল এই স্ক্রিপ্টটি চালানো ("। \ Myscript.ps1") প্রম্পটে পরিবর্তন করে না। যাইহোক, কমান্ড হিসাবে লাইন বাই লাইন ফাংশন চলমান ।

সুতরাং আমার যা কার্যকরভাবে প্রয়োজন তা হ'ল sourceপাওয়ারশেলের কমান্ডের মতো । এটা কি সম্ভব?

সম্পাদনা : এই পোস্টটি স্ট্যাকওভারফ্লোতে স্থানান্তরিত করা উচিত?

স্পেসিফিকেশন 1 : যেহেতু আমি এই ফাংশনটি কেবলমাত্র প্রয়োজন ভিত্তিতে চালিত করি (অর্থাত্ প্রতিটি পাওয়ারশেল সেশন এবং / অথবা সর্বদা নয়), তাই আমি আমার পাওয়ারশেল স্টার্টআপ প্রোফাইলে সঞ্চয় করতে চাই না।


দ্রষ্টব্য: আপনার দুটি বস কমান্ড আলাদা। আপনার সম্ভবত দ্বিতীয়টির বিন্দুটি বোঝার অর্থ নয় বা আপনি উভয়ই স্ক্রিপ্টের নামের শুরুতে "./" (বর্তমান ডিরেক্টরি) থাকা উচিত।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

এটি ঠিক করুন (বিন্দুটি সরিয়ে দিয়ে)
শ্রীধর রত্নকুমার

উত্তর:


29

আপনি পাওয়ারশেলের পাশাপাশি " ডট উত্স " করতে পারেন । আপনাকে কেবল নিশ্চিত করতে হবে যে আপনি পুরো পথটি নির্দিষ্ট করেছেন। সুতরাং, আপনি যে স্ক্রিপ্টটি লোড করতে চান তা যদি স্থানীয় ডিরেক্টরিতে থাকে তবে আপনি যা করতে পারেন:

PS C:\>. .\myscript.ps1

এটিই সঠিক উত্তর: পাওয়ারশেলের মধ্যে ডট সোর্সিং ঠিক তেমন কাজ করে বাশের মতো
জয়কুল

আপনি এটা করতে পারেন আমার ধারণা ছিল না। সুন্দর।
ডেভপ্যারিলো

ওহো! আমি কিভাবে আগে আসেনি? :)
শ্রীধর রত্নকুমার

1
এটি কি কোনও বিদ্যমান সিএমডি স্ক্রিপ্ট দিয়ে করা যেতে পারে? কোনও সেমিডি স্ক্রিপ্ট কার্যকরকরণের ফলে পাওয়ারশেল পরিবেশটি সংশোধিত হতে পারে?
পিবাডি

1
আপনার যদি কোনও .batফাইল চালানো এবং পরিবেশটি সংশোধন করা দরকার ?
ক্লো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.