在 PowerShell 中获取值和串联的问题
Issue with getting value and concatenation in PowerShell
我有一个简单的脚本来将主机名解析为 IP 地址,然后从中创建键值对以在 jenkins 中使用:
$ips = Resolve-DnsName -type a HOSTNAME | FT IPAddress -HideTableHeaders
echo $ips
>> 192.168.3.1
但是当我想在键值对中使用这个输出时,我收到以下信息:
$keyvalue = $(echo 'ipaddr:'"$ips")
PS C:\Users\vegas.s> echo $keyvalue
ipaddr:
Microsoft.PowerShell.Commands.Internal.Format.FormatStartData Microsoft.PowerShell.Commands.Internal.Format.GroupStartData Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData Microsoft.PowerShell.Commands.Internal.Format.GroupEndData Microsoft.PowerShell.Commands.Internal.Format.FormatEndData
我想收到以下内容:
ipaddr:192.168.3.1
我做错了什么?
试试这个:
#join the string and ip separated by colon
$keyvalue = 'ipaddr',$ips -join ':'
PS C:\Users\vegas.s> echo $keyvalue
我有一个简单的脚本来将主机名解析为 IP 地址,然后从中创建键值对以在 jenkins 中使用:
$ips = Resolve-DnsName -type a HOSTNAME | FT IPAddress -HideTableHeaders
echo $ips
>> 192.168.3.1
但是当我想在键值对中使用这个输出时,我收到以下信息:
$keyvalue = $(echo 'ipaddr:'"$ips")
PS C:\Users\vegas.s> echo $keyvalue
ipaddr:
Microsoft.PowerShell.Commands.Internal.Format.FormatStartData Microsoft.PowerShell.Commands.Internal.Format.GroupStartData Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData Microsoft.PowerShell.Commands.Internal.Format.GroupEndData Microsoft.PowerShell.Commands.Internal.Format.FormatEndData
我想收到以下内容:
ipaddr:192.168.3.1
我做错了什么?
试试这个:
#join the string and ip separated by colon
$keyvalue = 'ipaddr',$ips -join ':'
PS C:\Users\vegas.s> echo $keyvalue