generic PATH-like functions (del/append...) + remove snap in PATH

This commit is contained in:
2023-12-15 21:45:02 +01:00
parent 0d1b271dba
commit 1ccef7e908

View File

@@ -16,26 +16,34 @@
# [ -f "$HOME/.bashrc.$USER" ] && . "$HOME/.bashrc.$USER" # [ -f "$HOME/.bashrc.$USER" ] && . "$HOME/.bashrc.$USER"
# _remove $1 from PATH # _remove $1 from PATH
_path_del() { _var_del() {
local _l=":$PATH:" local -n _p_del=$1
while [[ $_l =~ :$1: ]]; do local _l=":$_p_del:"
_l=${_l//:$1:/:}
while [[ $_l =~ :$2: ]]; do
_l=${_l//:$2:/:}
done done
_l=${_l%:} _l=${_l%:}
_l=${_l#:} _l=${_l#:}
PATH="$_l" _p_del="$_l"
} }
# _prepend : prepend $1 to PATH. # _prepend : prepend $1 to PATH.
_path_prepend() { _var_prepend() {
_path_del "$1" local -n _p_prepend=$1
PATH="$1:$PATH"
_var_del _p_prepend "$2"
[[ -z $_p_prepend ]] && _p_prepend="$2" && return
_p_prepend="$2:$_p_prepend"
} }
# _append : append $1 to PATH. # _append : append $1 to PATH.
_path_append() { _var_append() {
_path_del "$1" local -n _p_append=$1
PATH="$PATH:$1"
_var_del _p_append "$2"
[[ -z $_p_append ]] && _p_append="$2" && return
_p_append="$_p_append:$2"
} }
# adjust PATH. Below paths will be added at beginning. # adjust PATH. Below paths will be added at beginning.
@@ -47,10 +55,12 @@ _lpath=("$HOME/bin/$(uname -s)-$(uname -m)"
# loop array in reverse order. Note: We do not test for path existence and add it # loop array in reverse order. Note: We do not test for path existence and add it
# unconditionally, to avoid automounter interference. # unconditionally, to avoid automounter interference.
for (( _i = ${#_lpath[@]} - 1; _i >= 0; --_i )); do for (( _i = ${#_lpath[@]} - 1; _i >= 0; --_i )); do
_path_prepend "${_lpath[_i]}" _var_prepend PATH "${_lpath[_i]}"
done done
unset _lpath unset _lpath
_path_append /usr/games
# why is it in default Ubuntu path ?
_var_del PATH /snap/bin
# enable core file # enable core file
ulimit -Sc 102400 # in 1024 bytes, 100Mb ulimit -Sc 102400 # in 1024 bytes, 100Mb