ken*_*ntz 18 linux bash ubuntu
我有一个设置的变量.bashrc.
在~/.bashrc:
PROJ_HOME=~/Projects/stable
Run Code Online (Sandbox Code Playgroud)
从bash shell,我想做这样的事情:
$ su -l kenneth -c 'echo $PROJ_HOME'
Run Code Online (Sandbox Code Playgroud)
但是,当我这样做时,预期/home/kenneth/Projects/stable不会打印出来.
有关如何做到这一点的任何想法?
Dan*_*n V 17
你试过su -m选项吗?
-m, --preserve-environment
do not reset environment variables
Run Code Online (Sandbox Code Playgroud)
例如:su -m kenneth -c'echo $ PROJ_HOME'
您需要导出变量.您可能不需要使用该-m选项su来保护环境.
export PROJ_HOME=~/Projects/stable
Run Code Online (Sandbox Code Playgroud)
试试吧su -m -l kenneth -c 'echo $PROJ_HOME'.-m应该保护环境.
编辑再次阅读你的问题,我想我可能会理解它的逆转.你也可以试试这个:su -l kenneth -c '. /home/kenneth/.bashrc; echo $PROJ_HOME.
| 归档时间: |
|
| 查看次数: |
28278 次 |
| 最近记录: |