« Back to Index

Bash rename function

View original Gist on GitHub

Bash copy function.sh

# copies function named $1 to name $2
rename_function() {
    declare -F $1 > /dev/null || return 1
    eval "$(echo "${2}()"; declare -f ${1} | tail -n +2)"
}

original() {
  echo "ORIGINAL"
}

rename_function original renamed

original() {
  echo "DO A NEW THING"
  renamed
}

original

# DO A NEW THING
# ORIGINAL