我想请教一下,powershell的脚本之间如何传递全局变量。

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

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式