Following is a list of parameters that you can put in .bash_profile to config your terminal (Note: some might only apply to cygwin)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# To the extent possible under law, the author(s) have dedicated all # copyright and related and neighboring rights to this software to the # public domain worldwide. This software is distributed without any warranty. # You should have received a copy of the CC0 Public Domain Dedication along # with this software. # If not, see . # base-files version 4.2-4 # ~/.bash_profile: executed by bash(1) for login shells. # The latest version as installed by the Cygwin Setup program can # always be found at /etc/defaults/etc/skel/.bash_profile # Modifying /etc/skel/.bash_profile directly will prevent # setup from updating it. # The copy in your home directory (~/.bash_profile) is yours, please # feel free to customise it to create a shell # environment to your liking. If you feel a change # would be benifitial to all, please feel free to send # a patch to the cygwin mailing list. # User dependent .bash_profile file # source the users bashrc if it exists if [ -f "${HOME}/.bashrc" ] ; then source "${HOME}/.bashrc" fi # Set PATH so it includes user's private bin if it exists # if [ -d "${HOME}/bin" ] ; then # PATH="${HOME}/bin:${PATH}" # fi # Set MANPATH so it includes users' private man if it exists # if [ -d "${HOME}/man" ]; then # MANPATH="${HOME}/man:${MANPATH}" # fi # Set INFOPATH so it includes users' private info if it exists # if [ -d "${HOME}/info" ]; then # INFOPATH="${HOME}/info:${INFOPATH}" # fi function parse_git_branch { git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/' } export BoldAsFont=-1 export BackgroundColour=34,6,29 export FontHeight=10 export PS1="\[\e[22;1;32m\]\u\[\e[2;37m\]@\[\e[22;1;95m\]\h\[\e[0m\]:\[\e[1;33m\][\w\[\e[96m\]\$(parse_git_branch)\[\e[1;33m\]]\[\e[22;1;37m\]\$ \[\e[0m\]" trap 'echo -ne "\e[0m" ' DEBUG |
And here is some options you can use to go in the .bashrc to custome your terminal as well (Note: some might only apply to cygwin)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 |
# To the extent possible under law, the author(s) have dedicated all # copyright and related and neighboring rights to this software to the # public domain worldwide. This software is distributed without any warranty. # You should have received a copy of the CC0 Public Domain Dedication along # with this software. # If not, see . # base-files version 4.2-4 # ~/.bashrc: executed by bash(1) for interactive shells. # The latest version as installed by the Cygwin Setup program can # always be found at /etc/defaults/etc/skel/.bashrc # Modifying /etc/skel/.bashrc directly will prevent # setup from updating it. # The copy in your home directory (~/.bashrc) is yours, please # feel free to customise it to create a shell # environment to your liking. If you feel a change # would be benifitial to all, please feel free to send # a patch to the cygwin mailing list. # User dependent .bashrc file # If not running interactively, don't do anything [[ "$-" != *i* ]] && return # Shell Options # # See man bash for more options... # # Don't wait for job termination notification # set -o notify # # Don't use ^D to exit # set -o ignoreeof # # Use case-insensitive filename globbing # shopt -s nocaseglob # # Make bash append rather than overwrite the history on disk # shopt -s histappend # # When changing directory small typos can be ignored by bash # for example, cd /vr/lgo/apaache would find /var/log/apache # shopt -s cdspell # Completion options # # These completion tuning parameters change the default behavior of bash_completion: # # Define to access remotely checked-out files over passwordless ssh for CVS # COMP_CVS_REMOTE=1 # # Define to avoid stripping description in --option=description of './configure --help' # COMP_CONFIGURE_HINTS=1 # # Define to avoid flattening internal contents of tar files # COMP_TAR_INTERNAL_PATHS=1 # # Uncomment to turn on programmable completion enhancements. # Any completions you add in ~/.bash_completion are sourced last. # [[ -f /etc/bash_completion ]] && . /etc/bash_completion # History Options # # Don't put duplicate lines in the history. # export HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups # # Ignore some controlling instructions # HISTIGNORE is a colon-delimited list of patterns which should be excluded. # The '&' is a special pattern which suppresses duplicate entries. # export HISTIGNORE=$'[ \t]*:&:[fb]g:exit' # export HISTIGNORE=$'[ \t]*:&:[fb]g:exit:ls' # Ignore the ls command as well # # Whenever displaying the prompt, write the previous line to disk # export PROMPT_COMMAND="history -a" # Aliases # # Some people use a different file for aliases # if [ -f "${HOME}/.bash_aliases" ]; then # source "${HOME}/.bash_aliases" # fi # # Some example alias instructions # If these are enabled they will be used instead of any instructions # they may mask. For example, alias rm='rm -i' will mask the rm # application. To override the alias instruction use a \ before, ie # \rm will call the real rm not the alias. # # Interactive operation... # alias rm='rm -i' # alias cp='cp -i' # alias mv='mv -i' # # Default to human readable figures # alias df='df -h' # alias du='du -h' # # Misc :) # alias less='less -r' # raw control characters # alias whence='type -a' # where, of a sort alias grep='grep --color' # show differences in colour # alias egrep='egrep --color=auto' # show differences in colour # alias fgrep='fgrep --color=auto' # show differences in colour # # Some shortcuts for different directory listings alias ls='ls -hF --color=tty' # classify files in colour alias dir='ls --color=auto --format=vertical' # alias vdir='ls --color=auto --format=long' alias ll='ls -l' # long list alias la='ls -A' # all but . and .. # alias l='ls -CF' # # Umask # # /etc/profile sets 022, removing write perms to group + others. # Set a more restrictive umask: i.e. no exec perms for others: # umask 027 # Paranoid: neither group nor others have any perms: # umask 077 # Functions # # Some people use a different file for functions # if [ -f "${HOME}/.bash_functions" ]; then # source "${HOME}/.bash_functions" # fi # # Some example functions: # # a) function settitle # settitle () # { # echo -ne "\e]2;$@\a\e]1;$@\a"; # } # # b) function cd_func # This function defines a 'cd' replacement function capable of keeping, # displaying and accessing history of visited directories, up to 10 entries. # To use it, uncomment it, source this file and try 'cd --'. # acd_func 1.0.5, 10-nov-2004 # Petar Marinov, http:/geocities.com/h2428, this is public domain # cd_func () # { # local x2 the_new_dir adir index # local -i cnt # # if [[ $1 == "--" ]]; then # dirs -v # return 0 # fi # # the_new_dir=$1 # [[ -z $1 ]] && the_new_dir=$HOME # # if [[ ${the_new_dir:0:1} == '-' ]]; then # # # # Extract dir N from dirs # index=${the_new_dir:1} # [[ -z $index ]] && index=1 # adir=$(dirs +$index) # [[ -z $adir ]] && return 1 # the_new_dir=$adir # fi # # # # # '~' has to be substituted by ${HOME} # [[ ${the_new_dir:0:1} == '~' ]] && the_new_dir="${HOME}${the_new_dir:1}" # # # # # Now change to the new dir and add to the top of the stack # pushd "${the_new_dir}" > /dev/null # [[ $? -ne 0 ]] && return 1 # the_new_dir=$(pwd) # # # # # Trim down everything beyond 11th entry # popd -n +11 2>/dev/null 1>/dev/null # # # # # Remove any other occurence of this dir, skipping the top of the stack # for ((cnt=1; cnt /dev/null) # [[ $? -ne 0 ]] && return 0 # [[ ${x2:0:1} == '~' ]] && x2="${HOME}${x2:1}" # if [[ "${x2}" == "${the_new_dir}" ]]; then # popd -n +$cnt 2>/dev/null 1>/dev/null # cnt=cnt-1 # fi # done # # return 0 # } # # alias cd=cd_func |