su -l root -c“ echo $ HOME”打印我的用户主目录

查克·诺西斯(Chuck Noxis)

这是我的第一篇文章,

我对su有一些问题-[用户] -c [命令]

我进行了一些搜索,发现了这个话题以及与我的问题有关的另一个话题。

我正在尝试设置用户的环境变量(如果不存在)。

# This function checks for a user $1, a var nammed $2 to $3 and set it to $3 if $2 not set.
# $1: User to set env
# $2: Var to set
# $3: Value to add in $2 if not exist in $2
function setEnvIfNotDef () {
  if [ ! su ${1} -c "echo "${!2}" | grep "${3}"" ]
  then
    if [ ${2} = "PATH" ]
    then
        su ${1} -c "export ${2}=${!2}:${3}"
    else
        su ${1} -c "export ${2}=${3}"
    fi
  fi
}
setEnvIfNotDef ${USER_NAME} "TEST_HOME" ${INSTALL_PATH}

(USER_NAME和INSTALL_PATH在我的代码^^中定义)

问题是,当我在优胜美地/ CentOS7的终端上尝试su-root -c命令时。

[email protected] [16:43:41] [Elio] #7975 $ su - root -c "whoami"
Password:
root
[email protected] [16:43:59] [Elio] #7976 $ su - root -c "echo $HOME"
Password:
/Users/Elio

su之后的-等于-l对吗?我不应该在root的环境中吗?

请帮忙吗?:)

谢谢

Ipor警报器

使用单撇号而不是双撇号:

$ su - -c 'echo $HOME'                            
Password: 
/root

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

su到root之后,emacs加载用户配置文件

在其他用户主目录中使用root到mkdir

为su root设置umask

以用户身份登录和通过root使用su更改用户之间有什么区别?

AIX 7.1 su root密码错误?

如何防止其他root用户访问我的主目录?

我可以在没有su的情况下通过sudo更改root密码吗?

Debian禁用su到root用户

我无法使用su命令以root用户身份登录,但可以使用SSH登录

su> echo“ <username>”是什么意思?

“按root用户成功执行su”-我的/var/log/auth.log中有可疑条目?

在Android root上运行su

Sudo su不要求密码从Sudo用户切换到Root用户

我怎么期望'echo -e“?\ c”'?

以root用户身份登录并执行“ su-user”而不是以user身份登录有什么意义?

为什么即使`sudo su -l -c“ echo $ PATH”`显示了Java二进制文件的位置,`sudo su -l -c“ java”`也不起作用?

Su和Su-to-root之间的区别?

在root用户的设备上使用su命令复制文件和目录

为什么“ sudo java”将用户主目录更改为/ root?

为什么以root用户身份在我的CentOS 7计算机上以“ su user”身份询问用户密码?

“ su不记录以root用户身份执行的命令”

Debian 10 su命令以root用户身份登录到现有用户,无需密码

su命令以root用户身份通过passwd编辑密码后,返回无提示身份验证

su成为root用户后,为什么会忽略pam_env.conf?

为什么`su`即使以root用户身份运行也会给出“ su:身份验证失败”的信息?

sudo -u $USER 和 su - $USER 作为非 root 用户的区别

以 root 用户身份执行远程 ssh 命令并在命令行中提供 su 密码

为什么所有用户在以 root 身份使用 su 之后都从 /root 而不是他们的主目录开始?

如何从 WSL 中获取 Windows 用户主目录 (/mnt/c/Users/username) 的路径?