aboutsummaryrefslogtreecommitdiff
path: root/bash/bashrc.d/vared.bash
blob: a2066b4ce74d2b83e511e5de5355d314c632ae5d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Requires Bash >= 4.0 for read -i and ${!name}
if ((10#${BASH_VERSINFO[0]%%[![:digit:]]*} < 4)) ; then
    return
fi

# Edit named variables' values
vared() {
    if ! (($#)) ; then
        printf 'bash: %s: No variable names given\n' \
            "$FUNCNAME" >&2
        return 2
    fi
    local name
    for name in "$@" ; do
        IFS= read -e -i "${!name}" -p "$name"= -r "$name"
    done
}
complete -A variable vared