在Bash脚本中,我如何调用一个包含在命令串中的Linux环境变量?

问题描述 投票:0回答:1

我有一個環境變數,請問如何在執行Chocolatey命令的Bash腳本中呼叫$qua?

export qua="key={1234}"

如何在執行 Chocolatey 命令的 Bash 腳本中調用 $qua?

#!/bin/bash
salt computername chocolatey.install qualys install_args='"\"$qua\""'

我無法讓Chocolatey正確地讀取環境變數。

install_args='"$qua"'

install_args=$qua

如果我运行的话,这个命令就能用。

#!/bin/bash
salt computername chocolatey.install qualys install_args="key={1234}"
bash chocolatey
1个回答
0
投票

正如有人指出的那样。sudo 创建一个新的环境,不保留你导出的变量。观察一下。

$ export this=that
$ env | grep this
this=that
$ sudo env | grep this
$

为了传递变量,你需要一些类似的东西。

$ sudo env this=$this | grep this
SUDO_COMMAND=/usr/bin/env this=that
this=that

所以在你的例子中,你的脚本可以是这样的:

#!/bin/bash
salt computername chocolatey.install qualys install_args="$ARG"

不加引号 然后你会像这样调用它。

sudo env ARG="$qua" ./script.sh
© www.soinside.com 2019 - 2024. All rights reserved.