From 4f0b680248e1acf71e9e557af62f3a08bb5b96c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Mon, 7 Mar 2022 11:38:48 +0100 Subject: [PATCH] fix(installer): fix `$HOME` setting if `getent` is not found (macOS) Related: https://github.com/ohmyzsh/ohmyzsh/pull/10713/files#r820219899 --- tools/install.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/install.sh b/tools/install.sh index 93608eb7c..f04d0dc9c 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -45,7 +45,9 @@ USER=${USER:-$(id -u -n)} # $HOME is defined at the time of login, but it could be unset. If it is unset, # a tilde by itself (~) will not be expanded to the current user's home directory. # POSIX: https://pubs.opengroup.org/onlinepubs/009696899/basedefs/xbd_chap08.html#tag_08_03 -HOME="${HOME:-$(getent passwd $USER | cut -d: -f6)}" +HOME="${HOME:-$(getent passwd $USER 2>/dev/null | cut -d: -f6)}" +# macOS does not have getent, but this works even if $HOME is unset +HOME="${HOME:-$(eval echo ~$USER)}" # Track if $ZSH was provided