最近2个小时,我一直在努力消除Powershell ISE中的功能缓存。这是一个简单的示例来演示此问题:
function myFunction { “星期一” }
显示:星期一
function myFunction { “ 星期二” }#已编辑,已保存。.
仍显示:星期一
UPDATE:知道了..!仍然会发布,因为其他人可能会受益。碰巧的是,Powershell对函数声明与调用函数的位置很敏感。它必须是之后的。如果它仅因类似“找不到对象”之类的错误而出错,它就不会那么危险,但是不,如果不是因为您认为这是令人讨厌的缓存行为,则它可以很好地执行。 我一直在使用Perl在Linux上编写脚本,该脚本对函数的声明/调用不敏感,因此降低了我的防护。.
答案 0 :(得分:3)
保存文件不会重新执行它。除非您重新加载函数绑定,否则它将保留在该 session 中,除非您重新启动 session ( CTRL + T (用于ISE中的新会话标签)。
function myFunction { 'Monday' }
F5
PS /> myFunction
Monday
function myFunction { 'Tuesday' }
F5
PS /> myFunction
Tuesday