6

此命令的输出为空。

su user -c "ABC=abc;echo $ABC"

任何想法,如何在输入命令中定义变量?

4

2 回答 2

5

将引号更改为单引号。双引号允许在尚未设置的当前环境中替换变量。要查看差异,请尝试使用您的版本$USER并将其与此版本进行比较:

su user -c 'ABC=abc; echo $ABC; echo $USER'
于 2010-09-09T13:29:46.003 回答
2

如果使用 bourne shell 变体:

ABC=abc su 用户 -c 'echo $ABC'

如果没有,请使用环境。

env ABC=abc su user -c 'echo $ABC'
于 2010-09-09T12:49:25.107 回答