Từ một kịch bản PowerShell, làm thế nào tôi có thể xác định xem kịch bản đã được chấm có nguồn gốc, tức là nó đã được gọi vớiXác định nếu PowerShell kịch bản đã được dot-sourced
. .\myscript.ps1
hơn
.\myscript.ps1
LƯU Ý một bài đăng blog thú vị (cũng) về vấn đề này: http://poshoholic.com/2008/03/18/powershell-deep-dive-using-myinvocation-and-invoke-expression-to-support-dot-sourcing-and-direct-invocation-in-shared-powershell-scripts/
Cảm ơn, InvocationName chính xác là những gì tôi đang tìm kiếm. –
Tên .Invocationname có vẻ tốt nhất, với "line" ký tự đầu tiên có thể là dấu chấm có đường dẫn tương đối .. \ test.ps1 khi NOT dot surce, hoặc khi dấu chấm có nguồn gốc ký tự tiếp theo có thể không phải là dấu cách. (parens, quotes, $ (etc) Sau đó, thêm @ mklement0 ngoại lệ – HerbM