Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何在su的输入命令中定义环境变量_Bash_Shell_Su - Fatal编程技术网

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”。