我想请教一下,powershell的脚本之间如何传递全局变量。
例如:在A脚本里定义一个全局变量,然后调用B脚本,在B脚本里对全局变量的值进行修改,最后在A脚本里判断全局变量的值。今天已经解决了,换了一种方法,没有用从子脚本向父脚本返...
例如:在A脚本里定义一个全局变量,然后调用B脚本,在B脚本里对全局变量的值进行修改,最后在A脚本里判断全局变量的值。
今天已经解决了,换了一种方法,没有用从子脚本向父脚本返回值。
谢谢了。
不过我查到了方法,分享一下:
在子脚本里赋值:set-variable -name 变量名 -value 值 -scope 1
就可以在父脚本里接收到更改后的变量值。 展开
今天已经解决了,换了一种方法,没有用从子脚本向父脚本返回值。
谢谢了。
不过我查到了方法,分享一下:
在子脚本里赋值:set-variable -name 变量名 -value 值 -scope 1
就可以在父脚本里接收到更改后的变量值。 展开
3个回答
2012-09-13
展开全部
首先告诉你,没有直接的方法。
可以考虑间接的方法:
1.如果你的变量仅仅是一个string,可以通过脚本A保存在环境变量里面,然后在B中更改,通过A继续读取。
2.如果你的变量是一个复杂对象,可以在A中定义,$a, 然后以参数的形式传递给B,最后以返回值的形式传递给A。
形如: $a= .\test.ps1 -Name "mosser"
可以考虑间接的方法:
1.如果你的变量仅仅是一个string,可以通过脚本A保存在环境变量里面,然后在B中更改,通过A继续读取。
2.如果你的变量是一个复杂对象,可以在A中定义,$a, 然后以参数的形式传递给B,最后以返回值的形式传递给A。
形如: $a= .\test.ps1 -Name "mosser"
展开全部
这是办不到的,shell脚本中子shell不可能改变父shell的值,即使用export环境变量也不行。
建议用函数实现。
建议用函数实现。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在子脚本里赋值:set-variable -name 变量名 -value 值 -scope 1
作用域从1改成0,就可以了。
但是为什么可以,不知道。
作用域从1改成0,就可以了。
但是为什么可以,不知道。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询