首页 > 解决方案 > 是否可以将变量从 BASH 脚本传递到 Linux 上的 PWSH

问题描述

我们有一个项目,我们想在 Linux 上运行一些 Bash 和 Powershell 脚本。我们将使用 BASH 脚本来运行一些带有各种变量的进程,执行 powershell 脚本,然后完成更多的 BASH 命令。

如果我们在 bash 脚本中设置了变量,然后我们在同一个 BASH 会话中执行 powershell 脚本,有没有办法将这些变量传递给 Powershell?

标签: bashpowershellvariables

解决方案


您可以通过环境变量传递值,这使得 Bash(和一般的 POSIX 兼容的 shell)变得容易:

$ foo='BAR'; bar='BAZ' # define sample Bash shell vars.
$ foo="$foo" bar="$bar" pwsh -noprofile -command '$env:foo; $env:bar'
BAR
BAZ

请注意如何为调用添加foo="$foo"bar="$bar"定义shell变量$foo以及$bar作为进程范围的环境变量pwsh
也就是说,这些环境变量只pwsh对子进程有效。


推荐阅读