gpt4 book ai didi

linux - 使用 sudo 保留内联变量

转载 作者:太空狗 更新时间:2023-10-29 12:41:09 24 4
gpt4 key购买 nike

你好,我正在尝试让这样的东西在 bash 中工作

$ http=xx sudo echo $http
xx

但我一直得到一个空行,到目前为止唯一有效的是:

$ export http=xx
$ sudo -E echo $http
xx

我想实现的是为 sudo 命令内联变量的能力

我也按照建议尝试了这个here

$ sudo http=xx echo $http

但是没有运气,我是不是错过了什么?

最佳答案

第一个命令的问题是 http 变量扩展发生在它被设置之前。

$ http=xx sudo echo $http

试试看

$ http=xx sudo -E bash -c 'echo $http'

语法在 man env 中描述

   Some have suggested that env is redundant since the same effect is achieved by:

name=value ... utility [ argument ... ]

否则,如果目标不是影响当前 shell 环境,则 export 和 sudo 命令可以在子 shell 中完成:

$ ( export http=xx ; sudo -E 'echo $http' )

关于linux - 使用 sudo 保留内联变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43867585/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com