![umask에는 -S 옵션이 없습니다](https://linux55.com/image/141439/umask%EC%97%90%EB%8A%94%20-S%20%EC%98%B5%EC%85%98%EC%9D%B4%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4.png)
umask -S
현재 마스크를 기호적으로 표시 하려고 합니다 ( man umask
내 시스템에서는 BASH_BUILTINS(1) 페이지가 표시됩니다). 그러나 umask
매뉴얼 페이지에서 주장하는 내용은 아닌 것 같습니다.
user$ umask
22
user$ umask -S
umask: Improper mask.
user$ umask -p
umask: Improper mask.
user$ which umask
umask: shell built-in command.
csh
RHEL 6.9에서 실행 중입니다. 비슷한 것이 umask 022
잘 작동합니다. 동작이 맨페이지와 다른 이유는 무엇입니까?
답변1
이는 쉘의 내부 상태를 변경 하므로 umask
쉘 내장 함수여야 합니다.
POSIX 요구사항이기 때문에 POSIX 쉘 umask
에 내장된 옵션이 있지만 s는 그렇지 않습니다. 대신 매뉴얼 페이지에 내장 기능이 문서화되어 있습니다 . 다음 문서는 csh 매뉴얼 페이지를 확인하세요.-S
csh
umask
umask
bash
csh
그것은 umask
내장.
이번 세기에 특히 GNU/Linux 시스템에서 이를 사용 하고 싶은 타당한 이유는 없지만 csh
, 꼭 필요한 경우 언제든지 다음을 수행할 수 있습니다.
sh -c 'umask -S'
이를 기호 형식으로 보고합니다 umask
.
umask
이는 실행 중인 하위 프로세스를 보고 하지만 이는 포크에서 상속되고 exec에서 지속되므로 의 프로세스와 동일 sh
해야 합니다 .umask
csh
umask
어떤 경우든 반환된 내용은 내장 함수가 기호 형식을 지원하지 않기 때문에 umask
아무 소용이 없습니다 .csh
csh
umask