Еквівалент команди "джерело" bash в Powershell?


15

Щоб запустити bash-скрипт по черзі (щоб, наприклад, зберегти змінні середовища), слід зробити наступне:

$ . myscript.sh

Або:

$ source myscript.sh

У мене є сценарій PowerShell, який, серед іншого, встановлює значення підказки через функцію, що називається prompt. Просто запуск цього сценарію (". \ Myscript.ps1") не змінює запит. Однак запуск функції по рядку як команда робить.

Тож те, що мені ефективно потрібно, - це щось на зразок sourceкоманди для PowerShell. Це можливо?

EDIT : Чи слід перенести цю посаду на Stackoverflow?

Пояснення 1 : Оскільки я виконую цю функцію лише за необхідності (тобто не для кожного сеансу роботи з оболонками та / або завжди), я не хочу зберігати в своєму режимі запуску повноважень.


Примітка. Ваші дві команди Bash відрізняються. Ви, мабуть, не мали значення мати крапку у другій, або ви мали на увазі, що обидва вони мають "./" (поточний каталог) на початку імені сценарію.
Призупинено до подальшого повідомлення.

Виправлено це (видаливши крапку)
Шрідхар Ратнакумар

Відповіді:


29

Ви також можете " розточити джерело " в PowerShell. Вам просто потрібно переконатися, що ви вказали повний шлях. Отже, якщо сценарій, який ви хочете завантажити в локальному каталозі, ви зробите:

PS C:\>. .\myscript.ps1

ЦЕ правильна відповідь :) точкове пошуку в PowerShell працює майже так само, як у Bash
Jaykul

Я не здогадувався, що ти можеш це зробити. приємно.
DaveParillo

Ого! Чому я не пробував цього раніше? :)
Шрідхар Ратнакумар

1
Чи все-таки це можна зробити за допомогою наявного сценарію cmd? Чи призведе виконання CMD-скрипту в середовищі повноважень?
peabody

1
Що робити, якщо вам потрібно запустити .batфайл і змінити середовище?
Хлоя
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.