我这里有以下脚本。
#!/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 可能会更改。