变量的内容a被视为命令(可执行文件或 bash 函数)。调用此命令,并获取 3 个参数:单词function、变量的内容b和执行此if语句的进程的 PID 。
命令终止后,检查其退出代码:如果它不为零,then则执行复合部分。退出代码的这种解释是凭借!前面的感叹号 ( )。一般来说:
如果你写一个命令为
! cmd
Run Code Online (Sandbox Code Playgroud)
并且 cmd 本身会产生一个非零退出代码,该语句的整体退出代码(即进入的内容$?)为 0。如果 cmd 本身会产生零退出代码。整体退出代码为 1。