function substring() { if [[ -z "$length" ]]; then printf "%s\n" "${string:$((start - 1))}" else printf "%s\n" "${string:$((start - 1)):$length}" fi }