您当前的位置:首页 > 计算机 > 系统应用 > Linux

命令的执行环境

时间:12-14来源:作者:点击数:

shell 脚本的执行环境包括如下内容

  • 打开的文件句柄,可能继承于父 shell,或者被 exec 重定向操作所修改
  • 当前的工作目录,可能继承于父 shell,或者被 cd、pushd 和 popd 命令所修改
  • 创建文件的 mode mask,可能继承于父 shell 或者被 umask 命令所修改
  • 被 trap 所设置的信号处理
  • shell参数,可能被变量赋值操作所修改,或者被 set 命令所设置,如果是环境变量则可能由父shell继承
  • 定义的 shell 函数,可能在执行期间动态定义,也可能继承自父 shell(需要通过 export 标注)
  • 开启/关闭的 shell 选项,可以在调用 shell 时设置,也可以为 set 和 shopt 设置,若 bash 处于 POSIX shell 模式下,则子 shell 会继承父 shell 的 -e 选项
  • shell 别名,可以被 alias 定义
  • 各种前台和后台 job

而当某个外部命令被 shell 调用时,该外部命令会从 shell 中继承以下内容:

  • shell 所打开的文件句柄,包括被重定向操作所修改的句柄,若调用命令时后面加上了 &,而 bash 没有开启 job control 的情况下,命令的 stdin 会被重定向到 /dev/null
  • 当前的工作目录
  • 创建文件时的 mode mask
  • 环境变量
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐