wordpress网站响应慢,淄博网站开发选网泰,如何查看网站是什么语言做的,怎么介绍自己的名字原文地址链接: https://kashima19960.github.io/2024/10/22/Linux/在Linux命令行中一行执行多个命令/#xff0c;一般有最新的修改都是在我的个人博客里面#xff0c;所以在当前平台的更新会比较慢#xff0c;请见谅#x1f603; 前言
在shell中一个一个命令行#xff0c… 原文地址链接: https://kashima19960.github.io/2024/10/22/Linux/在Linux命令行中一行执行多个命令/一般有最新的修改都是在我的个人博客里面所以在当前平台的更新会比较慢请见谅 前言
在shell中一个一个命令行这通常很低效因此后面就出现了shell脚本所谓的shell脚本就是指一堆命令的集合然后一起执行那么本文就会阐述shell脚本的其中一个基础——在一行内执行多条命令
在讲述方法前我们先来看一个问题问题用apt安装软件的时候你肯定都会先更新软件源然后再安装软件有没有方法可以在一行做到呢
方法
有三种方式可以做到这个操作
[ ; ]
特点如果被分号(;)所分隔的命令会连续的执行下去就算是错误的命令也会继续执行后面的命令。
[rootlocalhost etc]# lld ; echo ok ; lok
-bash: lld: command not found
ok
-bash: lok: command not found[ ]
特点如果命令被 所分隔那么命令也会一直执行下去但是中间有错误的命令存在就不会执行后面的命令没错就直行至完为止。
[rootlocalhost etc]# echo ok lld echo ok
ok
-bash: lld: command not found[ || ]
特点如果每个命令被双竖线 || 所分隔那么一遇到可以执行成功的命令就会停止执行后面的命令而不管后面的命令是否正确与否。如果执行到错误的命令就是继续执行后一个命令一直执行到遇到正确的命令为止。
[rootlocalhost etc]# echo ok || echo haha
ok
[rootlocalhost etc]# lld || echo ok || echo haha
-bash: lld: command not found
ok那么回到最初的问题在一行更新并安装软件可以用下面的方式做到
sudo apt update;sudo apt install software如何进行选择
以上的三种方法都可以实现一行执行多个命令但是他们之间的用法是有区别的下面我简要概括一下每种方式的使用场景
命令的执行的结果之间无逻辑关系比如
ls -a .;ls -a /这两个命令执行是否成功都不会影响到彼此因此这种情况下使用分号(;)即可
命令的执行的结果之间有逻辑关系
假如后一个命令必须依赖前一个命令这种情况下就使用
比如
$ cat file.txt ls -l file.txt上面例子中只有cat命令执行成功才会继续执行ls命令。如果cat执行失败比如不存在文件flie.txt那么ls命令就不会执行。
假如后一个命令是作为前一个命令的替补选择的话这种情况就使用||
比如
$ mkdir foo || mkdir bar上面例子中只有mkdir foo命令执行失败比如foo目录已经存在才会继续执行mkdir bar命令。如果mkdir foo命令执行成功就不会创建bar目录了。