父 Shell 是用于登录某个远程主机或虚拟控制器终端或在 GUI 中运行终端仿真器时所启动的默认的交互式 Shell 。
Linux Shell 中在当前 Shell 执行脚本文件的方式有:
source script # 在当前 Shell 执行 script 文件
. script # 在当前 Shell 执行 script 文件
子 Shell 是父 Shell 进程调用了 fork()
函数,在内存中复制出一个与父 Shell 进程几乎完全一样的子进程。
BASH_SUBSHELL
(其值表明子 Shell 的嵌套深度)判断是第几层子 Shell(0 说明当前 Shell 不是子 Shell)Linux Shell 中创建子 Shell 的方式有:
`command[;command...]` # command 在子 Shell 中执行
( command[;command...] ) # command 在子 Shell 中执行(可嵌套)
command1 | command2 # command1 和 command2 都在子 Shell 中运行
孩子 Shell 是父 Shell 进程调用了 fork()
函数后又调用了 execve()
函数来执行新的 shell 命令(比如 bash
),从而覆盖 fork()
复制出来的 Shell 子进程。
SHLVL
(其值表明孩子 Shell 的嵌套深度)判断是第几层孩子 Shell(启动的第一个 Shell 其 SHLVL
为 1)Linux Shell 中创建孩子 Shell 的方式有:
bash script # 以 Bash Shell 为例,script 在孩子 Shell 中执行
./script # 前提是 script 文件具有可执行权限,script 在孩子 Shell 中执行
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有