如何正确导出登录用户的名称?

如何正确导出登录用户的名称?

我这里有以下脚本。

#!/bin/bash
#some initial variables
DLURL=https://raw.github.com/horvan/drubuntu/master
DIRURL=/opt/.drubuntu
#Get files to run the installation
wget -O $DIRURL/install.sh $DLURL/scripts/install/install.sh > /dev/null 2>&1
wget -O $DIRURL/functions.sh $DLURL/scripts/install/functions.sh > /dev/null 2>&1
wget -O $DIRURL/filetemplates.sh $DLURL/scripts/install/filetemplates.sh > /dev/null 2>&1
export nameofuser=`echo $USER`
.install.sh
sudo bash "$DIRURL"/install.sh 2> errors.txt

执行后的值$nameofuser不是用户名之类的东西,而是root

如何确保与登录用户的名称匹配?

答案1

使用

export nameofuser=`who am i | awk '{print $1}'`

 或者 

export nameofuser=`logname`

因为如果您使用 sudo 等调用脚本,$USER 可能会更改。

https://stackoverflow.com/questions/4598001/how-do-you-find-the-original-user-through-multiple-sudo-and-su-commands

相关内容