linux - 你如何给su当前用户环境变量

标签 linux bash ubuntu

我有一个通过 .bashrc 设置的变量。

~/.bashrc中:

PROJ_HOME=~/Projects/stable

在 bash shell 中,我想做这样的事情:

$ su -l kenneth -c 'echo $PROJ_HOME'

但是,当我这样做时,预期的 /home/kenneth/Projects/stable 没有打印出来。

关于如何做到这一点有什么想法吗?

最佳答案

您是否尝试过选项 su -m ?

-m, --preserve-environment
              do not reset environment variables

例如:su -m kenneth -c 'echo $PROJ_HOME'

关于linux - 你如何给su当前用户环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10488758/

相关文章:

c - 警告 : passing argument 1 of ‘uart1_sendchar’ makes pointer from integer without a cast [enabled by default]

bash - 如何在 Ansible 中将 shell 函数作为命令运行?

regex - Bash 主机检查两列

android - 来自 git 的 Linphone Android 缺少 R.raw.rootca(ubuntu 和 win7)

linux - 删除目录内的文件而不是整个目录

linux - #!/bin/bash 可执行文件带有参数问题

bash - Cygwin程序已编译但无法运行

javascript - Svelte/Sapper - 运行 __sapper__/build 找不到模块

amazon-web-services - Amazon ec2 实例无法解析域

android - 如何使用 android/busybox shell 命令删除指定文件的所有符号链接(symbolic link)?