子 SHELL

一个 SHELL 脚本可以启动多个子进程,这些子进程使得脚本进行并行处理

  1. #!/bin/bash
  2. command
  3. sh sub_shell.sh # 运行子 SHELL 脚本文件
  4. command

SHELL 脚本如何执行命令

  1. #! /bin/sh
  2. # script.sh
  3. cd ..
  4. ls

子 shell - 图1

  1. 交互Shell(bash)fork/exec一个子Shell(sh)用于执行脚本,父进程bash等待子进程sh终止。
  2. sh读取脚本中的cd ..命令,调用相应的函数执行内建命令,改变当前工作目录为上一级目录。
  3. sh读取脚本中的ls命令,fork/exec这个程序,列出当前工作目录下的文件,sh等待ls终止。
  4. ls终止后,sh继续执行,读到脚本文件末尾,sh终止。
  5. sh终止后,bash继续执行,打印提示符等待用户输入。