Dot-sourcing um arquivo executa no escopo atual (em vez de seu próprio escopo). Para criar um arquivo em uma função e obter as definições no arquivo a ser incluído no escopo de chamada, você precisa pontuar a função. Tente isto:
. sop
Eu gosto de fazer muitas alterações no meu arquivo $ profile. Depois de salvar uma alteração, gostaria de obter o arquivo usando um alias "sop". Eis como espero conseguir isso:
set-alias sop Source-Profile
function Source-Profile {
. $profile
}
Esta função não gera erros, por isso parece funcionar. No entanto, quando faço alterações em meu arquivo $ profile, essa função não aparece em nada. Eu ainda tenho que digitar . $profile
do prompt PS para reavaliar esse arquivo. E tudo bem, mas é uma dor menor. Eu preferiria usar um alias para fornecer esse arquivo.
O que estou perdendo aqui?
Tags powershell scripting