Menu Close

25.2. 显示默认 bash umask

您可以使用不同的 shell,如 bashkshzshtcsh。这些 shell 可以是登录或非登录 shell。您可以通过打开一个原生或 GUI 终端来调用登录 shell。

要判断您是在登录 shell 还是非登录 shell 中执行某个命令,请使用 echo $0 命令。

例 25.1. 决定您是在登录的 bash shell 中还是在没有登陆的 bash shell 中工作

  • 如果 echo $0 命令的输出返回 bash,则代表您在非登录 shell 中执行该命令。

    $ echo $0
    bash

    非登录 shell 的默认 umask/etc/bashrc 配置文件中设定。

  • 如果 echo $0 命令的输出返回 -bash,则代表您在登录 shell 中执行该命令。

    # echo $0
    -bash

    登录 shell 的默认 umask/etc/login.defs 配置文件中设定。

流程

  • 要显示非登录 shell 的默认 bash umask,请使用:

    $ grep umask /etc/bashrc

    输出返回:

    # By default, we want umask to get set. This sets it for non-login shell.
           umask 002
           umask 022
  • 要显示登录 shell 的默认 bash umask,请使用:

    grep "UMASK" /etc/login.defs

    输出返回:

    # UMASK is also used by useradd(8) and newusers(8) to set the mode for new
    UMASK        022
    # If HOME_MODE is not set, the value of UMASK is used to create the mode.