@@ -16,21 +16,34 @@ __version="4.8.8"
16
16
# main retropie install location
17
17
rootdir=" /opt/retropie"
18
18
19
- # if __user is set, try and install for that user, else use SUDO_USER
20
- if [[ -n " $__user " ]]; then
21
- user=" $__user "
22
- if ! id -u " $__user " & > /dev/null; then
23
- echo " User $__user not exist"
24
- exit 1
25
- fi
26
- else
27
- user=" $SUDO_USER "
19
+ # if no user is specified
20
+ if [[ -z " $__user " ]]; then
21
+ # get the calling user from sudo env
28
22
__user=" $SUDO_USER "
29
- [[ -z " $user " ]] && user=" $( id -un) "
30
- [[ -z " $__user " ]] && __user=" $( id -un $SUDO_USER ) "
31
- [[ -z " $__group " ]] && __group=" $( id -gn $SUDO_USER ) "
23
+ # if not called from sudo get the current user
24
+ [[ -z " $__user " ]] && __user=" $( id -un) "
25
+ fi
26
+
27
+ # check if the user exists
28
+ if [[ -z " $( getent passwd " $__user " ) " ]]; then
29
+ echo " User $__user does not exist."
30
+ exit 1
31
+ fi
32
+
33
+ # if no group is specified get the users primary group
34
+ if [[ -z " $__group " ]]; then
35
+ __group=" $( id -gn " $__user " ) "
32
36
fi
33
37
38
+ # check if the group exists
39
+ if [[ -z " $( getent group " $__group " ) " ]]; then
40
+ echo " Group $__group does not exist."
41
+ exit 1
42
+ fi
43
+
44
+ # backwards compatibility
45
+ user=" $__user "
46
+
34
47
home=" $( eval echo ~ $__user ) "
35
48
datadir=" $home /RetroPie"
36
49
biosdir=" $datadir /BIOS"
0 commit comments