Linux 连续执行多条命令的方法和区别
逐行命令执行
| [root@aliyun ~]# echo 1;echoo 2;echo 3;echo 4 |
| 1 |
| -bash: echoo: 未找到命令 |
| 3 |
| 4 |
| #前一命令成功与否,都会继续执行下一条命令 |
前一命令成功才会执行下一命令
| [root@aliyun ~]# echo 1 && echoo 2 && echo 3 && echo 4 |
| 1 |
| -bash: echoo: 未找到命令 |
| #故意将第二条命令中的echo写成echoo,命令执行出错,echo 3便没有执行,echo 4也不会执行 |
前一命令失败才会执行下一命令
| [root@aliyun ~]# echo 1 || echoo 2 || echo 3 || echo 4 |
| 1 |
| #echo 1执行成功则没有继续执行后边的echo 2,继而没有执行echo 3,echo 4 |
| [root@aliyun ~]# echoo 1 || echo 2 || echo 3 || echo 4 |
| -bash: echoo: 未找到命令 |
| 2 |
| #echoo 1执行失败,因此开始执行echo 2,执行成功,因而后边的echo 3, echo4都没执行 |
混合使用
| [root@aliyun ~]# echo 1 || echo 2 || echo 3 && echo 4 |
| 1 |
| 4 |
| #echo 1执行成功了,紧接着后边有两个"||",因此echo 2, echo 3都没执行,后边遇到了&&,而这之前的命令组合被认为是执行成功的,因此echo 4得以执行 |
| [root@aliyun ~]# echo 1 && echoo 2 && echo 3 || echo 4 |
| 1 |
| -bash: echoo: 未找到命令 |
| 4 |
| #echo 1执行成功了,继而执行echoo 2,执行失败,因此 echo 3不被执行,后边遇到了"||",而知之前的命令组合被认为是执行失败的,因此echo 4得以执行 |
| [root@aliyun ~]# echo 1 && echoo 2 && echo 3 ; echo 4 |
| 1 |
| -bash: echoo: 未找到命令 |
| 4 |
| #echo 1执行成功了,继而执行echoo 2,执行失败,因此 echo 3不被执行,后边遇到了";",相当于把后边的命令放到了新行,这样的话无论如何后边的命令都会执行,因此echo 4得以执行 |
| [root@aliyun ~]# echoo 1 || echo 2 || echo 3 || echo 4 && echoo 5 && echo 6 ; echo 7 |
| -bash: echoo: 未找到命令 |
| 2 |
| -bash: echoo: 未找到命令 |
| 7 |
| #echoo 1执行失败,后边为"||"因此echo 2得以执行,echo 2执行成功,紧接着后边有两个"||"因此echo 3,echo 4没有执行,后边遇到了&&,而之前的命令组合被认为是执行成功的,因此echoo5得以执行,执行发生错误,因此echo 6没有被执行,但后边是";",所以无论如何echo 7都会被执行 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现