powershell点源引入
2022-02-15 16:10
681 查看
powershell点源引入
产生背景
在介绍该知识点之前,我们先看以下场景:
此时我们有一个名为test.ps1的脚本文件,脚本内容如下: ~~~powershell function get-diskinfo{ [CmdletBinding()] param( [string]$computerName='localhost', [string]$drive='C:' ) get-wmiobject -class win32_logicaldisk -filter "deviceID='$drive'" -computername $computerName } ~~~
在该脚本中,我们定义了一个名为 get-diskinfo 的函数。
现在我们的需求是:在powershell控制台运行该脚本文件,然后调用该函数:
由上图的执行结果我们可以看出,明明我们已经执行了.\test.ps1脚本,但是当我们调用其中定义的函数时,报错却显示没有该函数,调用失败
而 点源引入 就是用来解决这个问题的
解决方法及原因
解决方法
解决步骤如下图:- 通过上图我们发现,在执行脚本时,比第1张图片中的多了一个 “ . ” ,即变为了:. .\test.ps1,而不再是:.\test.ps1。
原因:
-
默认情况下,在我们使用powershell控制台执行完test.ps1脚本中的代码之后,系统会直接释放掉内存(即:test.ps1中的代码程序是不会一直驻留在内存中的)
而如果该代码一直驻留在内存中的话,会对我们的内存产生污染,那我们应该怎么删除由该脚本引入的函数呢?
-
方法就是:关闭当前的powershell控制台,从新打开一个即可,没有其他方法了。
参考:https://www.bilibili.com/video/BV1554y1Q76b
相关文章推荐
- 将asi-http-request引入到ARC工程需要做的 转
- maven引入jar包依赖报错
- 如何用函数表示数(二)引入闭包
- 为什么C++11引入了std::ref?
- 暑期实习17之数据库的引入
- 【高性能JavaScript】读书笔记 - 引入脚本(二) - 02
- 31天重构学习笔记23. 引入参数对象
- iOS 引入第三方库GDataXMLNode,编译报错:Missing ‘@end’ GDataXMLNode.h?
- (9)引入哈希桶的概念来实现一个哈希表
- Spring整合JUnit4测试,使用注解引入一个或多个配置文件
- c++11新特性:通过使用rvalue引用 引入 move semantic 和 perfect forwarding
- css(层叠样式表)的引入
- 有没有意思,你说了算——不引入第三个变量交换两个整型数
- javascript引入方式总结
- 引入OO开发报表后的感想
- Java import单类引入与包引入的区别
- 实现智能指针有两种经典策略:一是引入辅助类,二是使用句柄类。
- 初学者,如何理解链表,为什么要引入链表?
- Xcode 4 引入工程后引发的“ header files not found”问题的解决方法
- vue-cli引入zepto