missing end to balance this if statement missing end to balance this if statement unix unix

missing end to balance this if statement


Although the linked repository contains a script for fish, the README does not provide any directions for how to use that script. Not having used fish in several years, I think what you want to do is add

if status --is-login  source (brew --prefix)"/opt/bash-git-prompt/share/gitprompt.fish"end

to ~/.config/fish/config.fish instead. The if status command prevents the file from being unnecessarily sourced if you aren't starting an interactive shell.


This error message:

Missing end to balance this if statement.bash_profile (line 2): if [ -f "$(brew --prefix)/opt/bash-git-       prompt/share/gitprompt.sh" ]; then                    ^from sourcing file .bash_profilecalled on standard input

is generated by the fish shell.

The .bash_profile file is intended only to be executed (sourced) by the bash shell. fish is a different shell, with different syntax; it's not compatible with bash.

If you're using fish as your interactive shell, and you want some commands to be executed automatically when you start a new shell, you'll need to translate the bash-specific commands to fish syntax and add them to your fish startup file. (Not a lot of people use fish, so providers of software packages aren't likely to provide startup commands in fish syntax -- but this package apparently does; see chepner's answer.)