征求PowerShell高手解答:同一个ps1脚本文件,在ISE中可以正常运行,为啥在Console中运行就会吊死?
答案:1 悬赏:50 手机版
解决时间 2021-03-29 18:27
- 提问者网友:wodetian
- 2021-03-29 05:02
征求PowerShell高手解答:同一个ps1脚本文件,在ISE中可以正常运行,为啥在Console中运行就会吊死?
最佳答案
- 五星知识达人网友:有你哪都是故乡
- 2021-03-29 05:24
我觉得可能是作用域的问题.
你在调用.ps1想用里面函数的时候相当于开启了一个新的进程在运行这个.PS1,当你这个脚本运行完的时候,进程结束.里面的内容也就消失了.这个时候你去调用.ps1里的函数时,自然就是调用不到的.
而你在使用ISE的时候,你的PS1执行是在ISE的进程里执行的.所以里面的内容也就保留在ISE进程里,这个时候你去调PS1里的函数时,自然就可以调用了.
我没有深入研究这个问题.不能肯定准确,你可以参考一下.但可以肯定的是PowerShell的Console和ISE是百分之百有区别的.在很多情况下都不能保持运行结果的一致,所以无论写什么代码,ISE下执行OK的情况下,一定要在Console下去测试运行一下.
你在调用.ps1想用里面函数的时候相当于开启了一个新的进程在运行这个.PS1,当你这个脚本运行完的时候,进程结束.里面的内容也就消失了.这个时候你去调用.ps1里的函数时,自然就是调用不到的.
而你在使用ISE的时候,你的PS1执行是在ISE的进程里执行的.所以里面的内容也就保留在ISE进程里,这个时候你去调PS1里的函数时,自然就可以调用了.
我没有深入研究这个问题.不能肯定准确,你可以参考一下.但可以肯定的是PowerShell的Console和ISE是百分之百有区别的.在很多情况下都不能保持运行结果的一致,所以无论写什么代码,ISE下执行OK的情况下,一定要在Console下去测试运行一下.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯