ログインしたユーザーの名前を正しくエクスポートする方法は?

ログインしたユーザーの名前を正しくエクスポートする方法は?

ここに次のスクリプトがあります。

#!/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

おすすめ記事