如何将函数的值输出到调用者而不是控制台

2023-12-05

假设我有这个简单的 PowerShell 函数:

function testit() {
    return $true > $null
}

Write-Host "testing"
$thistest = testit 
Write-Host "value = $thistest"

当我在 PowerShell 脚本中使用它时,我想接收脚本中的值,但不希望它显示在控制台中。

如何将返回值保留在管道中但只是将其从控制台隐藏?

如果我使用> $null然后它完全抑制输出 - 我只是希望它不显示在控制台中,但我仍然想要该值。


As 记录在案PowerShell 函数将所有未捕获的输出返回给调用者。如果调用者不对返回值执行任何操作,PowerShell 会自动将其传递给Out-Default,然后将其转发到Out-Host (see 本文唐·琼斯撰写)。

在函数内部的返回值上使用重定向运算符可以有效地抑制返回值,以便函数不会返回任何内容。

如果你有这样的函数:

function testit {
    return $true
}

并单独调用它:

testit

PowerShell 隐式执行此操作:

testit | Out-Default

这实际上变成了

testit | Out-Host

如果您捕获变量中的返回值

$thistest = testit

该值存储在变量中,而控制台上不显示任何内容。

如果您重定向输出或将其通过管道传输到Out-Null

testit >$null
testit | Out-Null

返回值被丢弃,控制台上不显示任何内容。

如果您想阻止 PowerShell 将管道末尾未捕获的输出传递到的默认行为Out-Host你可以通过覆盖来做到这一点Out-Default像这样:

filter Out-Default { $_ | Out-Null }

或者(正如@PetSerAl在评论中指出的那样)像这样:

filter Out-Default {}

但是,请注意此修改会禁用Out-Default对于当前范围内的所有内容,直到您再次删除过滤器。如果你做例如Get-ChildItem当过滤器处于活动状态时,除非您明确地将输出写入主机控制台,否则不会显示任何内容:

Get-ChildItem | Out-Host

您可以像这样删除过滤器:

Remove-Item function:Out-Default
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将函数的值输出到调用者而不是控制台 的相关文章

  • 向Java类库添加函数

    我使用的 Java 类库在很多方面都不完整 有很多类我认为应该内置其他成员函数 但是 我不确定添加这些成员函数的最佳实践 让我们调用不足的基类A class A public A long arbitrary arguments publi
  • Verilog 中如何使用函数?

    在我的 FPGA Verilog 课程中 我的教授只是回顾了函数 他说在函数中 你可以按程序编写代码 然后 当您想要调用该函数时 您可以在always块中调用它 即 程序性地 也可以使用分配语句来调用它 对我来说 如何使用过程代码编写函数
  • 无法在 cmd 中通过管道传递 cmdlet 对象

    我正在使用这个 powershell 命令来获取特定的用户配置文件 获取 WmiObject Class Win32 UserProfile Where Object LocalPath eq C Users Pela 但是当我通过调用 p
  • PowerShell 脚本,用于将超过 x 天的文件和文件夹(包括子文件夹)从一个位置移动到另一个位置

    我开发了一个 PowerShell 脚本 它运行得非常好 唯一的挑战是子文件夹中的文件没有移动到目的地 get childitem Path servername location where object LastWriteTime lt
  • 为什么 .Net 框架指南建议您不要使用 ref/out 参数?

    显然 他们很 混乱 这是认真的原因吗 你还能想到其他的吗 你见过有多少开发人员并不真正理解 ref out 吗 我在真正需要的地方使用它们 但在其他地方则不然 它们通常仅在您想有效返回两个或多个值时才有用 在这种情况下它至少值得thinki
  • powershell:使用参数启动程序的脚本?

    当我运行下面的 Powershell 脚本时 我收到以下错误 如何通过 powershell 带参数运行程序 该脚本将是组策略登录 Invoke Expression 找不到位置参数 接受参数 TBHSERVER NETLOGON BGIn
  • 如何使用PowerShell脚本远程启动/停止IIS 6.0/7.0?

    我有两台服务器服务器 A 和服务器 B 我想使用 Powershell 脚本从服务器 B 远程停止服务器 A 最简单的方法之一就是使用命令行执行PsExec http www microsoft com technet sysinterna
  • PowerShell(2.0,32 位)无法加载 TFS 2010 管理单元...除非可以

    我有一个与 Team Foundation Server 交互的 PowerShell 脚本 当我在 PowerShell 控制台中运行它时 它运行得很好 这对于测试它来说很好 但我想通过双击它或批处理文件或其他东西来运行它 我什至选择右键
  • 行方向变异的有效方法

    我有两个数据框 dfUsers and purchases使用以下代码生成 set seed 1 library data table dfUsers lt data table user letters 1 5 startDate sam
  • 如何忽略警告错误?

    我有以下 PowerShell 脚本 它获取给定 IP 地址内计算机的 NetBIOS 名称 我正在使用管道将结果转储到文本文件中 问题是 如果 IP 地址不可用 则会打印警告 这是 PowerShell 脚本 function Get C
  • Powershell 数组到带引号的逗号分隔字符串

    我有一个数组 需要输出到逗号分隔的字符串 但我还需要引号 这是我所拥有的 myArray file1 csv file2 csv a myArray join a 输出为 a最终 file1 csv file2 csv 我想要的输出是 fi
  • Powershell:根据属性过滤属性

    我对 PowerShell 的自学经验有限 所以这可能是一些基本的东西 但我似乎无法正确理解 我在 Active Directory 中 需要提取电子邮件地址不以 SamAccountName 开头的用户列表 因此 如果您的登录名是 jdo
  • Powershell 查询的升序和降序

    下面的查询将列出 powershell 中的 cmdlet get command CommandType cmdlet Group Object Property verb 因为我需要按降序对列数进行排序 然后按升序对列进行命名 以下查询
  • PowerShell 脚本 ffmpeg

    作为一名优秀的 Windows 系统管理员 我终于开始学习 PowerShell 话虽这么说 我不知道我在做什么 惊讶 惊讶 我认为远离生产环境 在家里使用 PowerShell 对我来说将是一次很好的学习经历 最近 我开始使用 FFMPE
  • 如何编写 bash 函数来包装另一个命令?

    我正在尝试编写一个函数包装器mysql command If my cnf存在于 pwd 中 我想自动附加 defaults file my cnf到命令 这就是我正在尝试的 function mysql if e my cnf then
  • 在 C# 中调用 C++ 库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有很多用 C 编写的库 我想从 C 调用这些库 但是 我遇到了很多问题 我想知道是否有书籍或指南告诉我如何做到这一点 Dll导入 htt
  • Powershell v5.1 Invoke-RestMethod 并绕过代理

    我目前使用的是 Powershell V5 1 并且希望在 Invoke RestMethod 命令上绕过 Internet Explorer 代理 在 Powershell V6 中 有 NoProxy 选项 指示 cmdlet 将不使用
  • Powershell脚本将多个远程地址添加到防火墙规则

    我正在尝试编写一个脚本 该脚本将循环遍历本地防火墙规则并更新远程地址表 这是我到目前为止所拥有的 它不起作用 应该很简单 所以不确定发生了什么 该脚本运行时没有错误 但实际上并没有更新任何内容 name Get NetFirewallRul
  • Get-AzureDomain、GetAzureADUser 等返回 Authentication_Unauthorized、未找到用户

    我能够使用 PowerShell 对我创建的 我是全局管理员的 Azure AD 资源进行身份验证 我执行此命令以通过 AD 进行身份验证 AzureADCred Get Credential Message Cred to connect
  • 使用 BASH 和 AWK 创建 HTML 表

    我在创建 html 表来显示文本文件中的统计信息时遇到问题 我确信有 100 种方法可以做得更好 但这里是 以下脚本中的注释显示了输出 bin bash function getapistats curl s http api exampl

随机推荐

  • 在 Android 上从 .png 文件绘制自定义视图的背景

    我通过扩展 View 创建了一个自定义 View 在 onDraw 中 我设法画了一些圆圈和其他东西 但现在我想从资源 SD 卡或流 添加背景 这实际上是我从服务器下载的地图 然后在其上绘制 适用于 Android 8 Override p
  • 当重复使用基本页面时,是否有一种方法可以加快 PDF 页面合并速度(基本上是在一个页面与另一个页面添加水印)?

    澄清 我不想向 PDF 文件添加页面 我想将内容添加到一个非常大的 PDF 页面 页面有时会发生变化 每次内容都不同 我正在使用 pypdf2 和 reportlab 对大 PDF 页面 10MB 进行少量添加 这需要 30 秒或更长时间
  • 设置的最低有效位的位置

    我正在寻找一种有效的方法来确定整数中设置的最低有效位的位置 例如对于 0x0FF0 则为 4 一个简单的实现是这样的 unsigned GetLowestBitPos unsigned value assert value 0 handle
  • Yii:视频上传失败

    我是伊比 我正在做什么来上传视频 因为我正在使用Uploadmiltifiles扩展名并点击此链接http www yiiframework com extension uploadmultifiles 我已经遵循了所有内容 但是当我上传视
  • Javascript 二维数组:增加特定项目的值

    我有一个带有整数的二维数组 我想要的只是用数字增加特定项目 初始状态 var arr1 var arr2 1 2 3 arr1 push arr2 arr1 push arr2 arr1 push arr2 arr1 现在看起来像这样 0
  • 如何在 R 中使用大数据对多个变量进行热编码?

    我目前有一个包含 260 000 行和 50 列的数据框 其中 3 列是数字 其余是分类 我想要对分类列进行一次热编码 以便执行 PCA 并使用回归来预测类别 我怎样才能在 R 中完成下面的例子 Example V1 V2 V3 V4 V5
  • 如何在gnuplot中绘制每行的图

    我有一个这种格式的文件 0 R1 R2 R3 R4 w1 I1 I2 I3 I4 w2 I1 I2 I3 I4 w3 I1 I2 I3 I4 在许多波长 w 中具有半径 R 和强度 I 的值 我想以二维方式绘制 第 1 行 半径 在 x 轴
  • 对 DataTrigger 条件的 Value 属性使用绑定

    我正在开发 WPF 应用程序并在数据触发器方面遇到困难 我想将触发条件的值绑定到我拥有的某个对象
  • Prolog - 继兄弟姐妹的链式法则

    我是 Prolog 的新手 有一个关于为共享 共同父母 的继兄弟姐妹编写 链式规则 的问题 在我的程序中 我假设存在父级 X Y 断言 X 是 Y 的父级的事实 我需要一个规则链 X Y L 如果 X 是一个ancestorY 的 则 L
  • 无法使 CSS 粘性页脚正常工作。我究竟做错了什么?

    嗯 这是我在这里发表的第一篇文章 我真的很喜欢这个网站 我已经启动了一个非常基本的 丑陋的 网站 由于某种原因 我无法让 CSS 粘性页脚在 FireFox 上工作 IE 可以工作 但 FF 将其显示在页面的中间位置 网址是http dev
  • 将 Woocommerce 中的免费送货优惠券的所有送货方式成本设置为零

    我的购物车中有 3 种运输方式 一旦您的客户输入免费送货优惠券 这些方式的价格就应该为零 我知道如何在functions php中添加过滤器来检测优惠券 但有人知道将购物车 单选按钮 中可见的运输方法设置为零的代码片段吗 我的送货方式是 U
  • IE 和 FF 中的 $(window).height() 问题

    我写了一个脚本来制作动态大小的div table 在我的页面内 我还有一个菜单 menu nav其中确定了最小高度 在 Chrome 和 Safari 中一切正常 但在 IE FF 中则不然 在这两种情况下 我都有同样的问题 如果我全屏加载
  • jquery从数据库填充多个下拉列表

    我知道如何使用 jQuery 用数据库中的值填充单个下拉框 但现在我需要进行一个长查询来使用下拉列表过滤掉 5 个表字段 也就是说 通过选择第一个 我需要更改其余 4 个下拉列表列表值 通过更改第二个下拉列表 我需要更改其他 3 个下拉列表
  • Android:解压缩使用 PHP gzcompress() 压缩的字符串

    如何解压缩由 PHP gzcompress 函数压缩的字符串 有完整的例子吗 thx 我现在这样尝试 public static String unzipString String zippedText throws Exception B
  • 无法对 Gatsby 站点的 Ant Design 表中的列进行排序

    我在 Gatsby 站点中实现了 Ant 设计表 我正在从 graphql 中提取数据 到目前为止 一切都运行良好 数据显示正确 分页正常等 现在我想添加对列进行排序的功能 为此 我设置了表和列 如下所示 table table
  • Chrome 扩展程序中的弹出窗口

    我正在编写一个 Chrome 扩展程序 我希望当用户单击上下文菜单时弹出一个登录窗口 以便用户可以输入用户名和密码 在 Chrome 扩展中 我只发现chrome pageAction setPopup and chrome browser
  • ofstream 不将缓冲区写入文件

    我正在尝试将 buf 指针的内容写入由 ofstream 创建的文件 由于某种原因 文件是空的 但是 buf 的内容从来不为空 我做错了什么 void DLog Log const char fmt va list varptr va st
  • createStoredProcedureQuery 未解决

    这是我的代码 createStoredProcedureQuery 在 eclipse 下有红线 并且没有解决 我尝试了很多方法仍然无法得到问题所在 private static EntityManagerFactory factory p
  • Erlang Ports:与类似“wc”的程序交互?

    我有一个外部 exe 程序 它从标准输入读取并生成结果 它的工作原理就像wc编程并读取直到EOF 或者更确切地说 流结束 Update 让我再添加一条解释 我基本上是在尝试编写一个 Erlang 管道 我可以在批处理文件中调用该程序 例如e
  • 如何将函数的值输出到调用者而不是控制台

    假设我有这个简单的 PowerShell 函数 function testit return true gt null Write Host testing thistest testit Write Host value thistest