Com base na ideia da @ frams, podemos tornar a resposta mais curta:
sign=${1//[[:digit:]]}
value=${1//[^[:digit:]]}
${1//[[:digit:]]}
exclui parte do dígito de ${1}
${1//[^[:digit:]]}
exclui parte não dígito de ${1}
ref: Guia avançado de scripts bash por Mendel Cooper