如何在su的输入命令中定义环境变量
Posted
技术标签:
【中文标题】如何在su的输入命令中定义环境变量【英文标题】:How to define environment variable in input command of su 【发布时间】:2011-04-10 05:53:23 【问题描述】:此命令的输出为空。
su user -c "ABC=abc;echo $ABC"
任何想法,如何在输入命令中定义变量?
【问题讨论】:
【参考方案1】:将引号更改为单引号。双引号允许在尚未设置的当前环境中替换变量。要查看差异,请使用 $USER
尝试您的版本并将其与此版本进行比较:
su user -c 'ABC=abc; echo $ABC; echo $USER'
【讨论】:
【参考方案2】:如果使用 bourne shell 变体:
ABC=abc su 用户 -c 'echo $ABC'如果没有,请使用 env。
env ABC=abc su user -c 'echo $ABC'【讨论】:
感谢您的回答,它有效,但不完全是我需要的。我有一个很长的 su 命令输入字符串,我必须将变量的值确定为“用户”。以上是关于如何在su的输入命令中定义环境变量的主要内容,如果未能解决你的问题,请参考以下文章