Then, your TERM environment variable may never have been configured. Run the script below to prefix our prompt with a TERM setup
cat > /tmp/.bash_prompt_term <<EOF#!/usr/bin/env bash# Determine what type of terminal we are using for \`tput\`if [[ \$COLORTERM = gnome-* && \$TERM = xterm ]] && infocmp gnome-256color >/dev/null 2>&1; then export TERM=gnome-256colorelif [[ \$TERM != dumb ]] && infocmp xterm-256color >/dev/null 2>&1; then export TERM=xterm-256colorfiEOF
chmod +x /tmp/.bash_prompt_term
cat ~/.bash_prompt >> /tmp/.bash_prompt_term
cp /tmp/.bash_prompt_term ~/.bash_prompt
rm /tmp/.bash_prompt_term
Manual install
Requirements: git, make
# Clone the repository
git clone --depth 1 --config core.autocrlf=false https://github.com/twolfson/sexy-bash-prompt
# Cloning into 'sexy-bash-prompt'...# ...# Resolving deltas: 100% (13/13), done.# Go into the directorycd sexy-bash-prompt
# Install the script
make install
# # Copying .bash_prompt to ~/.bash_prompt# cp -f ".bash_prompt" "/home/todd/.bash_prompt"# ./install.bash# # twolfson/sexy-bash-prompt installation complete!# Rerun your ~/.bashrcsource~/.bashrc
# todd at Euclid in ~/github/sexy-bash-prompt on master# Your PS1 should now look like this!
Configuration
Behavior
Behavior can be customized with the following environment variables:
PROMPT_SHOW_ERROR_ONCE - If enabled (default), then will only show error color once per command execution
bash persists a non-zero exit code across missing commands (e.g. comment line only, keyboard interrupt, empty command)
Setting this to 1 (default) means show error status once, 0 means always show same error status until a new command is executed
Colors
Colors can be customized by editing .bash_prompt directly, or by setting the following environment variables:
PROMPT_USER_COLOR - Color for username (e.g. todd)
PROMPT_PREPOSITION_COLOR - Color for 'at', 'in', 'on'
PROMPT_DEVICE_COLOR - Color for machine name (e.g. Euclid)
PROMPT_DIR_COLOR - Color for directory (e.g. ~/github/sexy-bash-prompt)
PROMPT_GIT_STATUS_COLOR - Color for git branch and symbol (e.g. master)
PROMPT_GIT_PROGRESS_COLOR - Color for in progress git actions (e.g. [merge])
PROMPT_SYMBOL_COLOR - Color for prompt symbol by default or on success (e.g. $)
PROMPT_SYMBOL_ERROR_COLOR - Color for prompt symbol on error (e.g. $)
bash provides a special set of variables for your prompts. PS1 is the one used by default. The install script adds a command to ~/.bashrc, a file that is run every time a new terminal opens. Inside of the new command, we run our script and set your PROMPT_COMMAND and PS1 which runs some git commands to determine its current state and outputs them as a string.
Support
Linux and Mac OSX are supported platforms.
Windows is supported to the best of my abilities. However, there have been font issues with using PuTTY.
Uninstallation
To uninstall sexy-bash-prompt, perform the following steps:
Remove . ~/.bash_prompt from ~/.bashrc
Delete ~/.bash_prompt (e.g. rm ~/.bash_prompt)
During installation, we may have added a . ~/.bashrc invocation to ~/.bash_profile, ~/.bash_login, or ~/.profile
Feel free to remove this if it's no longer necessary
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Test via make test.
请发表评论