MST
星途 面试题库

面试题:Bash中命令执行顺序与优先级相关基础问题

在Bash脚本中,假设存在命令A && 命令B || 命令C,当命令A执行成功时,后续哪个命令会执行?请说明原因。并且解释这里涉及到的命令执行顺序与优先级规则。
35.3万 热度难度
编程语言Bash

知识考点

AI 面试

面试题答案

一键面试
  1. 后续执行的命令
    • 当命令A执行成功时,会执行命令B。
  2. 原因
    • 在Bash脚本中,&&||是逻辑控制操作符。&&表示逻辑与,只有当&&左边的命令(即命令A)执行成功(返回状态码为0)时,才会执行&&右边的命令(即命令B)。
    • ||表示逻辑或,当||左边的命令执行失败(返回状态码非0)时,才会执行||右边的命令(即命令C)。由于命令A执行成功,所以不会走到||逻辑判断,也就不会执行命令C。
  3. 命令执行顺序与优先级规则
    • 执行顺序:从左到右依次判断。先执行命令A,根据命令A的执行结果来决定后续执行哪个命令。
    • 优先级规则&&||的优先级相同,它们的结合性是从左到右。所以先判断命令A的执行结果,根据结果决定执行命令B还是命令C。例如,如果命令A执行成功,就执行命令B,不会再判断||后面的命令C;如果命令A执行失败,就跳过命令B,判断||,若命令A失败则执行命令C。