Estou tentando usar umask -S
para mostrar a máscara atual de forma simbólica (por man umask
no meu sistema, o que me dá a página BASH_BUILTINS(1)). Mas umask
não parece se comportar como a página de manual afirma:
user$ umask
22
user$ umask -S
umask: Improper mask.
user$ umask -p
umask: Improper mask.
user$ which umask
umask: shell built-in command.
Estou executando isso no csh
RHEL 6.9. Algo como umask 022
funciona bem. Por que o comportamento seria diferente da página de manual?
Como
umask
altera o estado interno do shell, ele deve ser um shell embutido.Os shells POSIX
umask
integrados têm uma-S
opção, pois é um requisito POSIX, mascsh
o 's não. Suaumask
página man documenta oumask
built-in dobash
, não o docsh
. Verifique a página de manual do csh para obter a documentação de seuumask
built-in.Não há uma boa razão para você querer usar
csh
neste século, especialmente em um sistema GNU/Linux, mas se precisar, você sempre pode fazer:para relatar uma forma simbólica disso
umask
.Isso relataria a
umask
execução do processo filhosh
, mas como oumask
é herdado no fork e preservado no exec, deve ser o mesmo quecsh
oumask
.De qualquer forma, esse retorno
umask
não será útil paracsh
, pois o builtin decsh
'sumask
não suporta formulários simbólicos.