bash - 是否可以将变量从 BASH 脚本传递到 Linux 上的 PWSH
问题描述
我们有一个项目,我们想在 Linux 上运行一些 Bash 和 Powershell 脚本。我们将使用 BASH 脚本来运行一些带有各种变量的进程,执行 powershell 脚本,然后完成更多的 BASH 命令。
如果我们在 bash 脚本中设置了变量,然后我们在同一个 BASH 会话中执行 powershell 脚本,有没有办法将这些变量传递给 Powershell?
解决方案
您可以通过环境变量传递值,这使得 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
对子进程有效。
推荐阅读
- xamarin.forms - Xamarin 表单:XamForms.Controls.Calendar 中的特殊日期选择问题
- python - 编码中0和-0的区别
- javascript - Firebase 云功能:更新用户配置文件
- apache-curator - Apache Curator 连接状态侦听器并不总是通过 RECONNECTED 状态更改调用
- python - 使用 Shopify Python API 将订单设置为已付款
- node.js - 美国时间上午 12 点的 cronjob
- linux - CopyTruncate 日志轮换机制正在丢弃日志
- r - 如何查看用户是否已兑换凭证然后在 r 中进行实际购买
- laravel - 试图在laravel中获取非对象错误的属性“名称”
- reactjs - 带有 gatsby-plugin-intl 的 Gatsby 语言本地化 Mdx 文件