Назад | Перейти на главную страницу

Как я могу получить свой $ Profile из функции Powershell?

Мне нравится вносить много изменений в мой файл $ profile. После сохранения изменения я хотел бы использовать в качестве источника файла псевдоним «sop». Вот как я надеюсь добиться этого:

set-alias sop Source-Profile
function Source-Profile {
    . $profile
}

Эта функция не выдает ошибок, поэтому кажется, что она работает. Однако, когда я вношу изменения в свой файл $ profile, эта функция ни к чему не проявляется. Мне все еще нужно напечатать . $profile из подсказки PS, чтобы повторно оценить этот файл. И это нормально, но это небольшая боль. Я бы предпочел использовать псевдоним для источника этого файла.

Что мне здесь не хватает?

Точечный источник файла запускает его в текущей области (а не в собственной области). Чтобы получить файл в функции и получить определения в файле, которые будут включены в область вызова, вам необходимо указать источник функции через точку. Попробуй это:

. sop