summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorFran <frbuceta@gmail.com>2019-05-24 16:42:26 +0200
committerMarc Cornellà <marc.cornella@live.com>2019-06-03 17:18:24 +0200
commit9d2b3ce79f9f7eaf989eb4606c36f84ee8eb1cfb (patch)
tree329698b21a92496573b8d73733f042694a0079b4 /tools
parent62216aaa8ff496cd1a086c70642b5fff9e7fa282 (diff)
downloadzsh-9d2b3ce79f9f7eaf989eb4606c36f84ee8eb1cfb.tar.gz
zsh-9d2b3ce79f9f7eaf989eb4606c36f84ee8eb1cfb.tar.bz2
zsh-9d2b3ce79f9f7eaf989eb4606c36f84ee8eb1cfb.zip
installer: fix for Solus OS and systems with no /etc/shells
Co-authored-by: Fredrik Fornwall <fredrik@fornwall.net>
Diffstat (limited to 'tools')
-rwxr-xr-xtools/install.sh13
1 files changed, 12 insertions, 1 deletions
diff --git a/tools/install.sh b/tools/install.sh
index 4dc25b0e0..8ec973832 100755
--- a/tools/install.sh
+++ b/tools/install.sh
@@ -106,7 +106,18 @@ setup_shell() {
fi
echo "${BLUE}Time to change your default shell to zsh!${NORMAL}"
- if ! chsh -s $(grep '^/.*/zsh$' /etc/shells | tail -1); then
+
+ # Test for the right location of the "shells" file
+ if [ -f /etc/shells ]; then
+ shells_file=/etc/shells
+ elif [ -f /usr/share/defaults/etc/shells ]; then # Solus OS
+ shells_file=/usr/share/defaults/etc/shells
+ else
+ error "could not find /etc/shells file. Change your default shell manually."
+ return
+ fi
+
+ if ! chsh -s $(grep '^/.*/zsh$' "$shells_file" | tail -1); then
error "chsh command unsuccessful. Change your default shell manually."
fi
}