Em qualquer shell POSIX, você pode chamar:
savmask=$(umask)
umask someval
umask -S # outputs the symbolic form
umask # outputs the octal form
umask -- "$savmask"
Você poderia colocar isso em uma função
printmask() {
savmask=$(umask) || return
umask -- "$1" || return
umask -S
umask
umask -- "$savmask"
}
Ou use um subshell para evitar a necessidade de salvar e restaurar o umask:
printmask() (
umask -- "${1?Please specify a umask}" || exit
umask -S
umask
)