.env.bash
changeset 988 b5c31b623dec
parent 986 080abbbb7ba7
child 989 5b3759d3d789
equal deleted inserted replaced
987:e0ffdc132f41 988:b5c31b623dec
    20 export TIME_STYLE=long-iso
    20 export TIME_STYLE=long-iso
    21 
    21 
    22 # Easy cd to often used dirs.
    22 # Easy cd to often used dirs.
    23 export CDPATH=.:$HOME:$HOME/devel:$HOME/my
    23 export CDPATH=.:$HOME:$HOME/devel:$HOME/my
    24 
    24 
    25 if [[ :$PATH: != *:/usr/sbin:* ]]; then
    25 function my_path_prune() {
    26   export PATH=/usr/sbin:$PATH
    26   if [[ :$1: =~ (.*):$2:(.*) ]]; then
    27 fi
    27     local left=${BASH_REMATCH[1]}
    28 if [[ :$PATH: != *:/sbin:* ]]; then
    28     local right=${BASH_REMATCH[2]}
    29   export PATH=/sbin:$PATH
    29     [[ ${left:0:1} = : ]] && left=${left:1}
    30 fi
    30     [[ ${right: -1} = : ]] && right=${right:0: -1}
    31 if [[ :$PATH: != *:/usr/local/bin:* ]]; then
    31     if [[ -z $left ]]; then
    32   export PATH=$PATH:/usr/local/bin
    32       echo "$right"
    33 fi
    33     elif [[ -z $right ]]; then
       
    34       echo "$left"
       
    35     else
       
    36       echo "$left:$right"
       
    37     fi
       
    38   else
       
    39     echo "$1"
       
    40   fi
       
    41 }
       
    42 
       
    43 function my_path_preappend() {
       
    44   PATH=$1:$(my_prune_path "$PATH" $1)
       
    45 }
       
    46 
       
    47 # For my "cygrun.exe" wrapper to work it should be behind shebang scripts in the PATH.
       
    48 my_path_preappend ~/usr/bin
    34 # ~/.local/bin is default PATH for "pip install --user $PKG".
    49 # ~/.local/bin is default PATH for "pip install --user $PKG".
    35 if [[ :$PATH: != *:$HOME/.local/bin:* ]]; then
    50 my_path_preappend ~/.local/bin
    36   export PATH=$PATH:$HOME/.local/bin
    51 my_path_preappend /usr/local/bin
    37 fi
    52 my_path_preappend /usr/bin
    38 if [[ :$PATH: =~ (.*):$HOME/usr/bin:(.*) ]]; then
    53 my_path_preappend /bin
    39   # For my "cygrun.exe" wrapper to work it should be behind shebang scripts in the PATH.
    54 my_path_preappend /usr/sbin
    40   if [[ $OSTYPE = cygwin ]]; then
    55 my_path_preappend /sbin
    41     [[ ${BASH_REMATCH[1]:0:1} = : ]] && _left=${BASH_REMATCH[1]:1}
    56 export PATH
    42     [[ ${BASH_REMATCH[2]: -1} = : ]] && _right=${BASH_REMATCH[2]:0: -1}
       
    43     PATH=$_left:$_right:$HOME/usr/bin
       
    44     unset _left _right
       
    45   fi
       
    46 else
       
    47   export PATH=$PATH:$HOME/usr/bin
       
    48 fi
       
    49 
       
    50 
    57 
    51 if [[ -z $LD_LIBRARY_PATH ]]; then
    58 if [[ -z $LD_LIBRARY_PATH ]]; then
    52   LD_LIBRARY_PATH=$HOME/usr/lib
    59   LD_LIBRARY_PATH=$HOME/usr/lib
    53 elif [[ :$LD_LIBRARY_PATH: != *:$HOME/usr/lib:* ]]; then
    60 elif [[ :$LD_LIBRARY_PATH: != *:$HOME/usr/lib:* ]]; then
    54   export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":$HOME/usr/lib
    61   export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":$HOME/usr/lib