.env.bash
changeset 989 5b3759d3d789
parent 988 b5c31b623dec
child 990 582cddcfb6a6
equal deleted inserted replaced
988:b5c31b623dec 989:5b3759d3d789
    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 function my_path_prune() {
    25 my_path_prune() {
    26   if [[ :$1: =~ (.*):$2:(.*) ]]; then
    26   if [[ :$1: =~ (.*):$2:(.*) ]]; then
    27     local left=${BASH_REMATCH[1]}
    27     local left=${BASH_REMATCH[1]}
    28     local right=${BASH_REMATCH[2]}
    28     local right=${BASH_REMATCH[2]}
    29     [[ ${left:0:1} = : ]] && left=${left:1}
    29     [[ ${left:0:1} = : ]] && left=${left:1}
    30     [[ ${right: -1} = : ]] && right=${right:0: -1}
    30     [[ ${right: -1} = : ]] && right=${right:0: -1}
    31     if [[ -z $left ]]; then
    31     if [[ -z $left ]]; then
    32       echo "$right"
    32       my_path_prune=$right
    33     elif [[ -z $right ]]; then
    33     elif [[ -z $right ]]; then
    34       echo "$left"
    34       my_path_prune=$left
    35     else
    35     else
    36       echo "$left:$right"
    36       my_path_prune=$left:$right
    37     fi
    37     fi
    38   else
    38   else
    39     echo "$1"
    39     my_path_prune=$1
    40   fi
    40   fi
    41 }
    41 }
    42 
    42 
    43 function my_path_preappend() {
    43 my_path_preappend() {
    44   PATH=$1:$(my_prune_path "$PATH" $1)
    44   my_path_prune "$PATH" "$1"
       
    45   PATH=$1:$my_path_prune
    45 }
    46 }
    46 
    47 
    47 # For my "cygrun.exe" wrapper to work it should be behind shebang scripts in the PATH.
    48 # For my "cygrun.exe" wrapper to work it should be behind shebang scripts in the PATH.
    48 my_path_preappend ~/usr/bin
    49 my_path_preappend ~/usr/bin
    49 # ~/.local/bin is default PATH for "pip install --user $PKG".
    50 # ~/.local/bin is default PATH for "pip install --user $PKG".
    52 my_path_preappend /usr/bin
    53 my_path_preappend /usr/bin
    53 my_path_preappend /bin
    54 my_path_preappend /bin
    54 my_path_preappend /usr/sbin
    55 my_path_preappend /usr/sbin
    55 my_path_preappend /sbin
    56 my_path_preappend /sbin
    56 export PATH
    57 export PATH
       
    58 unset -f my_path_preappend
       
    59 unset -f my_path_prune
       
    60 unset -v my_path_prune
    57 
    61 
    58 if [[ -z $LD_LIBRARY_PATH ]]; then
    62 if [[ -z $LD_LIBRARY_PATH ]]; then
    59   LD_LIBRARY_PATH=$HOME/usr/lib
    63   LD_LIBRARY_PATH=$HOME/usr/lib
    60 elif [[ :$LD_LIBRARY_PATH: != *:$HOME/usr/lib:* ]]; then
    64 elif [[ :$LD_LIBRARY_PATH: != *:$HOME/usr/lib:* ]]; then
    61   export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":$HOME/usr/lib
    65   export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":$HOME/usr/lib