小编uni*_*ife的帖子

如何将 PowerShell 动态变量值传递给 JSON

我正在开发一个项目,让基于 Windows 的机器运行预定的 powershell 脚本,该脚本将把主机状态作为 JSON 结构化数据文件发布。目标是让相同的脚本能够在任何 Windows 机器上运行,而无需为每个将放置脚本的服务器手动输入变量值,即主机名、IP 地址等。

$hn = hostname
$ip = ipconfig
echo $hn
echo $ip
$params = '{
"host": "$(hn)",
"service": "APP_NAME",
"annotation": "Service is looking dope!",
“ip": "$(ip)"
}'

Invoke-WebRequest -Uri http://yoursite.com:5550/ -Method POST -ContentType "application/json" -Body $params
#Invoke-RestMethod -Uri http://yoursite.com:5550/ -Method POST -ContentType "application/json" -Body $params
Run Code Online (Sandbox Code Playgroud)

我最终得到了以下输出的变化(注意主机名和 ip 变量保持不变):

HOSTNAME1
1.1.1.1
'{
"host": "$(hn)",
"service": "APP_NAME",
"annotation": "Service is looking dope!",
“ip": "$(ip)"
}'
Run Code Online (Sandbox Code Playgroud)

我希望输出如下所示:

HOSTNAME1
1.1.1.1
'{
"host": "HOSTNAME1",
"service": "APP_NAME",
"annotation": …
Run Code Online (Sandbox Code Playgroud)

variables powershell json

6
推荐指数
2
解决办法
9151
查看次数

如何在Ruby中用零填充字符串

我遇到的情况是我的数组的值是字母数字。

我想遍历它们,并打印出带有填充0的值。

当我有一个数组并正常遍历它们时,它可以正常工作:

acct = ["123425326AA", "234123412341234AA", "12342342CP", "12342314234", "5"]

acct.each { |acct| puts acct }

Output:
$ruby main.rb
123425326AA
234123412341234AA
12342342CP
12342314234
5
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用填充0时会遇到问题。我试着玩, %#d但我不理解。例如,我试图%23d 在循环中使用23个“ 0”填充它。

我正在寻找的输出类型如下:

000000000000123425326AA
000000234123412341234AA
000000000000012342342CP
00000000000012342314234
00000000000000000000005
Run Code Online (Sandbox Code Playgroud)

我尝试使用此代码,它提到了一些有关整数的信息,并且我的数组值确实包含一些Alpha,但我不确定这是否是根本原因。但是这里有一些我尝试使用的代码示例。

acct.each { |i| puts "%23d" % i }

Output:
$ruby main.rb
main.rb:17:in `%': invalid value for Integer(): "123425326AA" (ArgumentError)
    from main.rb:17:in `block in <main>'
    from main.rb:17:in `each'
    from main.rb:17:in `<main>'
Run Code Online (Sandbox Code Playgroud)

从这里开始,我尝试将数组顺序更改为以下顺序,并且部分起作用,并且能够处理仅是数字的值,但是一旦达到字母数字值,便会失败。另外,它也没有放置0,而是用X数量的空格代替。

acct = ["5", "12342314234", "234123412341234AA", "12342342CP", "123425326AA"]
acct.each { |acct| puts "%23d" …
Run Code Online (Sandbox Code Playgroud)

ruby arrays loops padding

1
推荐指数
1
解决办法
56
查看次数

标签 统计

arrays ×1

json ×1

loops ×1

padding ×1

powershell ×1

ruby ×1

variables ×1