gpt4 book ai didi

linux - 在 Bash 中从另一个用户范围访问变量

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:53:58 25 4
gpt4 key购买 nike

我在使用以下 bash 脚本时遇到问题:

#!/bin/bash

myPassword="foobar"

su - postgres <<-'EOF'
echo $myPassword # nil
EOF

echo $myPassword # foobar

如何从 postgres 用户 session 中访问或传输 $myPassword 的内容?

在有和没有 export 的情况下都尝试过,但运气不佳。

最佳答案

您正在使用 'EOF' 作为 heredoc 标记。所以没有替代发生。如果你想在 block 内进行变量替换,请删除引号。参见 Heredocs And Herestrings .

你也可以保留你所拥有的,但是使用su 可能更适合您。

(我敢肯定没有必要提醒您,将密码保存在脚本中是不安全的。并且可以使用足够的权限检查进程的环境,因此它也不是放置密码的好地方。)

关于linux - 在 Bash 中从另一个用户范围访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23857261/

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