题
此命令具有空输出。
su user -c "ABC=abc;echo $ABC"
任何想法,如何在输入命令中定义变量?
解决方案
将您的报价更改为单引号。双引号允许在尚未设置的当前环境中替换该变量。要查看差异,请尝试使用您的版本 $USER
并将其与此相提并论:
su user -c 'ABC=abc; echo $ABC; echo $USER'
其他提示
如果使用Bourne Shell变体:
ABC=abc su user -c 'echo $ABC'
如果不是,请使用Env。
env ABC=abc su user -c 'echo $ABC'
不隶属于 StackOverflow