Bash 如何在su的输入命令中定义环境变量
此命令的输出为空Bash 如何在su的输入命令中定义环境变量,bash,shell,su,Bash,Shell,Su,此命令的输出为空 su user -c "ABC=abc;echo $ABC" 您知道,我如何在输入命令中定义变量吗?如果使用bourne shell变量: ABC=abc su user -c 'echo $ABC' ABC=ABC su用户-c‘echo$ABC’ 如果没有,请使用env env ABC=abc su user -c 'echo $ABC' env ABC=ABC su用户-c'echo$ABC' 将引号更改为单引号。双引号允许在当前环境中替换尚未设置的变量。要查看差异,请
su user -c "ABC=abc;echo $ABC"
您知道,我如何在输入命令中定义变量吗?如果使用bourne shell变量: ABC=abc su user -c 'echo $ABC' ABC=ABC su用户-c‘echo$ABC’ 如果没有,请使用env env ABC=abc su user -c 'echo $ABC' env ABC=ABC su用户-c'echo$ABC'
将引号更改为单引号。双引号允许在当前环境中替换尚未设置的变量。要查看差异,请使用
$USER
尝试您的版本,并将其与此版本进行比较:
su user -c 'ABC=abc; echo $ABC; echo $USER'
谢谢你的回答,它是有效的,但它并不完全是我需要的。我有一个相当长的su命令输入字符串,我必须确定变量的值为“user”。