#!/bin/bash if [[ ! $(command -v arch) ]]; then function arch() { uname -m } fi function function_list { if [ $1 ]; then # will list functions in passed file local STR local func declare -a FUNCS STR=$(grep '() {\|(){\|function' $1) readarray -t LIST <<<"$STR" for func in "${LIST[@]}" do if [[ ! $func =~ ^# ]]; then func=${func#function } func=${func%()?( ){} [[ ! $func =~ ^_ ]] && FUNCS+=($func) fi done echo "${FUNCS[@]}" else # will list all sourced/declared functions available echo echo -e "\033[1;4;32m""Functions:""\033[0;34m" declare -F | grep -v "declare -f\s_" | awk {'print $3'} echo echo -e "\033[0m" fi } function alias_list() { echo echo -e "\033[1;4;32m""Aliases:""\033[0;34m" alias | awk {'print $2'} | awk -F= {'print $1'} echo echo -e "\033[0m" } get_shopt () { echo $([ "$(shopt -p $1 | grep '\-s')" ] && echo on || echo off) } # edit files # echo set the system editor using EDITOR environment variable edit() { ${EDITOR:-nano} $@; } gedit() { ${GEDITOR:-xed} $@; } rsynchg() { rsync --help | grep "\-$1"; }