You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell中未引用$input输出Current的原因及引号行为疑问

PowerShell中$input的特殊行为解析

为什么直接echo $input会输出"Current"

$input是PowerShell的自动变量,本质是一个空枚举器对象(当没有管道输入时)。直接执行echo $input时,PowerShell会默认输出这个对象的属性——枚举器对象自带Current属性,你看到的"Current"是属性名,下方的横线是PowerShell默认表格输出的表头,而该属性的值为空。

为什么加引号后echo "$input"无输出

把$input放入双引号中时,PowerShell会触发字符串插值,此时会调用该枚举器对象的ToString()方法。对于空枚举器,ToString()会返回空字符串,因此echo "$input"没有输出。

这是$input特有的行为,不是通用引号逻辑

这种输出差异是$input作为枚举器对象的特有表现,并非PowerShell引号的通用行为。比如普通字符串变量:

PS C:\> $test = "hello"
PS C:\> echo $test
hello
PS C:\> echo "$test"
hello

两者输出完全一致。只有当变量是特殊对象(如空枚举器)时,才会出现直接输出对象属性、插值输出空的差异。

内容的提问来源于stack exchange,提问作者craig65535

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 10:55:15