mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-12 21:39:48 +01:00
installer: add ability to skip the default shell change
Co-authored-by: Marshall Ford <inbox@marshallford.me> Co-authored-by: Joel Kuzmarski <leoj3n@gmail.com>
This commit is contained in:
parent
43b3126b5c
commit
794ff4a62d
1 changed files with 21 additions and 1 deletions
|
@ -10,9 +10,12 @@
|
||||||
# sh install.sh
|
# sh install.sh
|
||||||
#
|
#
|
||||||
# Respects these environment variables for tweaking the installation process:
|
# Respects these environment variables for tweaking the installation process:
|
||||||
|
# ZSH - path to the Oh My Zsh repository folder (default: $HOME/.oh-my-zsh)
|
||||||
# REPO - name of the GitHub repo to install from (default: robbyrussell/oh-my-zsh)
|
# REPO - name of the GitHub repo to install from (default: robbyrussell/oh-my-zsh)
|
||||||
# REMOTE - full remote URL of the git repo to install (default: GitHub via HTTPS)
|
# REMOTE - full remote URL of the git repo to install (default: GitHub via HTTPS)
|
||||||
# BRANCH - branch to check out immediately after install (default: master)
|
# BRANCH - branch to check out immediately after install (default: master)
|
||||||
|
# Other options:
|
||||||
|
# CHSH - set to no tells the installer not to change the default shell (default: yes)
|
||||||
#
|
#
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
@ -22,6 +25,10 @@ REPO=${REPO:-robbyrussell/oh-my-zsh}
|
||||||
REMOTE=${REMOTE:-https://github.com/${REPO}.git}
|
REMOTE=${REMOTE:-https://github.com/${REPO}.git}
|
||||||
BRANCH=${BRANCH:-master}
|
BRANCH=${BRANCH:-master}
|
||||||
|
|
||||||
|
# Other options
|
||||||
|
CHSH=${CHSH:-yes}
|
||||||
|
|
||||||
|
|
||||||
command_exists() {
|
command_exists() {
|
||||||
command -v "$@" >/dev/null 2>&1
|
command -v "$@" >/dev/null 2>&1
|
||||||
}
|
}
|
||||||
|
@ -118,6 +125,11 @@ export ZSH=\"$ZSH\"
|
||||||
}
|
}
|
||||||
|
|
||||||
setup_shell() {
|
setup_shell() {
|
||||||
|
# Skip setup if the user wants or stdin is closed (not running interactively).
|
||||||
|
if [ $CHSH = no ] || ! [ -t 0 ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
# If this user's login shell is already "zsh", do not attempt to switch.
|
# If this user's login shell is already "zsh", do not attempt to switch.
|
||||||
if [ "$(basename "$SHELL")" = "zsh" ]; then
|
if [ "$(basename "$SHELL")" = "zsh" ]; then
|
||||||
return
|
return
|
||||||
|
@ -161,6 +173,14 @@ setup_shell() {
|
||||||
}
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
|
# Parse arguments
|
||||||
|
while [ $# -gt 0 ]; do
|
||||||
|
case $1 in
|
||||||
|
--skip-chsh) CHSH=no ;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
setup_color
|
setup_color
|
||||||
|
|
||||||
if ! command_exists zsh; then
|
if ! command_exists zsh; then
|
||||||
|
@ -202,4 +222,4 @@ main() {
|
||||||
exec zsh -l
|
exec zsh -l
|
||||||
}
|
}
|
||||||
|
|
||||||
main
|
main "$@"
|
||||||
|
|
Loading…
Reference in a new issue