diff options
Diffstat (limited to 'subr.rtl/rtl.subr')
-rw-r--r-- | subr.rtl/rtl.subr | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/subr.rtl/rtl.subr b/subr.rtl/rtl.subr index 532cb514..7a72b89c 100644 --- a/subr.rtl/rtl.subr +++ b/subr.rtl/rtl.subr @@ -2,12 +2,20 @@ # set +o errexit -o noglob -o nounset is assumed. # -rtl_date() { command date "+${1:-${DEFAULT_TIMESTAMP_FMT:-"%Y/%m/%d %H:%M:%S"}}"; }; -rtl_set_IFS_nl() { IFS=" -"; }; -rtl_set_var_unsafe() { [ -n "${2}" ] && eval ${1}=\"${2}\" || return 0; }; +# <SPACE><HT><LF> +RTL_IFS_ORIG=" +"; + +# <LF> +RTL_NL=" +"; + +rtl_date() { local _rdate="${1#\$}"; shift; eval ${_rdate}=\"\$\(command date \"+\${1:-\${DEFAULT_TIMESTAMP_FMT:-\"%Y/%m/%d %H:%M:%S\"}}\"\)\"; }; +rtl_set_IFS_nl() { IFS="${RTL_NL}"; }; +rtl_set_var_unsafe() { [ "${2:+1}" = 1 ] && eval ${1}=\"${2}\" || return 0; }; rtl_test_cmd() { command -v "${1}" >/dev/null; }; rtl_uniq() { if [ "${#}" -gt 0 ]; then printf "%s" "${*}" | sed 's/ /\n/g' | awk '!x[$0]++' | paste -s -d" "; fi; }; +rtl_uniq2() { eval set -- \${${1#\$}}; if [ "${#}" -gt 0 ]; then printf "%s" "${*}" | sed 's/ /\n/g' | awk '!x[$0]++' | paste -s -d" "; fi; }; rtl_unset_vars() { while [ ${#} -gt 0 ]; do unset "${1}"; shift; done; }; -# vim:filetype=sh +# vim:filetype=sh textwidth=0 |