此命令的输出为空。
su user -c "ABC=abc;echo $ABC"
任何想法,如何在输入命令中定义变量?
答案 0 :(得分:5)
将报价更改为单引号。双引号允许变量在当前未设置的环境中被替换。要查看差异,请尝试使用$USER
版本并将其与此版本进行比较:
su user -c 'ABC=abc; echo $ABC; echo $USER'
答案 1 :(得分:2)
如果使用bourne shell变体:
ABC=abc su user -c 'echo $ABC'
如果没有,请使用环境
env ABC=abc su user -c 'echo $ABC'