此命令具有空输出。

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'
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top