在Linux命令行中一行执行多个命令
原文地址链接: https://kashima19960.github.io/2024/10/22/Linux/在Linux命令行中一行执行多个命令/,一般有最新的修改都是在我的个人博客里面,所以在当前平台的更新会比较慢,请见谅😃
前言
在shell中一个一个命令行,这通常很低效,因此后面就出现了shell脚本,所谓的shell脚本就是指一堆命令的集合,然后一起执行,那么本文就会阐述shell脚本的其中一个基础——在一行内执行多条命令
在讲述方法前,我们先来看一个问题问题:用apt安装软件的时候,你肯定都会先更新软件源,然后再安装软件,有没有方法可以在一行做到呢?
方法
有三种方式可以做到这个操作
- [ ; ]
特点:如果被分号(;)所分隔的命令会连续的执行下去,就算是错误的命令也会继续执行后面的命令。
[root@localhost etc]# lld ; echo "ok" ; lok
-bash: lld: command not found
ok
-bash: lok: command not found
- [ && ]
特点:如果命令被 && 所分隔,那么命令也会一直执行下去,但是中间有错误的命令存在就不会执行后面的命令,没错就直行至完为止。
[root@localhost etc]# echo "ok" && lld && echo "ok"
ok
-bash: lld: command not found
- [ || ]
特点:如果每个命令被双竖线 || 所分隔,那么一遇到可以执行成功的命令就会停止执行后面的命令,而不管后面的命令是否正确与否。如果执行到错误的命令就是继续执行后一个命令,一直执行到遇到正确的命令为止。
[root@localhost etc]# echo "ok" || echo "haha"
ok
[root@localhost 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
目录了。
相关文章:
在Linux命令行中一行执行多个命令
原文地址链接: https://kashima19960.github.io/2024/10/22/Linux/在Linux命令行中一行执行多个命令/,一般有最新的修改都是在我的个人博客里面,所以在当前平台的更新会比较慢,请见谅😃 前言 在shell中一个一个命令行,…...

u盘快速格式化后怎么恢复文件:深入解析与全面指南
U盘,凭借其小巧便携、易于使用的特点,成为了我们日常生活中不可或缺的数据存储工具。然而,有时为了清除病毒、解决文件系统错误或准备存储新数据,我们可能需要对U盘进行快速格式化。但这一操作往往伴随着一个严峻的问题࿱…...

青少年编程能力等级测评CPA C++(二级)试卷(2)
青少年编程能力等级测评CPA C(二级)试卷(2) 一、单项选择题(共20题,每题3.5分,共70分) CP2_2_1.下列C程序段中,对二维数组arr的定义不正确是( &…...

aws 把vpc残留删除干净
最近忘了把vpc 删干净导致又被收了冤大头钱 在删除vpc 的收发现又eni在使用,但是忘了是哪个资源在占用 先用命令行把占用的资源找出来停掉 使用 AWS 命令行界面(CLI)来查看 VPC 的使用情况 列出子网: aws ec2 describe-subnets …...
平衡二叉树最全代码
#include<stdio.h> #include<stdlib.h>typedef struct Node {int val;int height;struct Node *left;struct Node *right; }Node;//创建新结点 Node* newNode(int val) {Node *node (Node*)malloc(sizeof(Node));node->val val;node->height 1;node->l…...

数据库表的创建
运用的环境是pychram python3.11.4 创建一个表需要用到以下语法 注释已经写清楚各种语法的含义,记住缩进是你程序运行的关键,因为程序是看你的缩进来判断你的运行逻辑,像我这个就是缩进不合理导致的报错 那么今天分享就到这里,谢…...
【MySQL 数据库】之--基础知识
1. MySQL 数据库基础概念 数据库: 逻辑上存储和管理数据的集合。MySQL 是一个常用的关系型数据库管理系统。 2. 创建数据库 要创建一个新的数据库,可以使用 CREATE DATABASE 语句。 语法: CREATE DATABASE 数据库名; 示例: CREATE DATABASE my_database; 注意事…...
Flume面试整理-如何处理Flume中的数据丢失
在Apache Flume中,数据丢失是一个可能出现的严重问题,特别是在处理大规模数据时。数据丢失通常会发生在数据从Source(源)到Channel(通道),或从Channel到Sink(汇)传输的过程中。如果不处理得当,Flume的崩溃或网络故障可能会导致丢失的数据无法恢复。以下是几种常见的F…...

文件处理新纪元:微信小程序的‘快递员’与‘整理师’
嗨,我是中二青年阿佑,今天阿佑将带领大家如何通过巧妙的文件处理功能,让用户体验从‘杂乱无章’到‘井井有条’的转变! 文章目录 微信小程序的文件处理文件上传:小程序的“快递服务”文件下载:小程序的“超…...

应付账款优化,自动化管理5要点
优化应付账款流程对企业现金流至关重要。通过自动化、规范采购订单、管理供应商、设计高效流程及保留数字记录,可显著提升效率与精确度。ZohoBooks在线财务记账软件助您简化应付账款处理,确保业务顺畅。 1、自动化您的应付账款流程 通过自动化你的应付账…...

Win安装Redis
目录 1、下载 2、解压文件并修改名称 3、前台简单启动 4、将redis设置成服务后台启动 5、命令启停redis 6、配置文件设置 1、下载 【下载地址】 2、解压文件并修改名称 3、前台简单启动 redis-server.exe redis.windows.conf 4、将redis设置成服务后台启动 redis-server -…...

手把手带你安装U9【win10+sql+U9】,同样适用U9C的安装
一、Win10操作系统设置 1、Windows 10内置账号administrator启用 a、登录到Windows 10系统以后,鼠标右键点击桌面左下角“win图标”,在弹出画面选择“命令提示符(管理员)”或”windows power shell(管理员)”,如下图: b、在”命令提示符(管理员)”或”windows power sh…...

若依前后端框架学习——新建模块(图文详解)
若依框架—新建模块 一、项目地址1、后端启动2、前端启动 二、生成代码1、添加菜单2、创建表结构3、生成代码2、编辑一些基本信息,然后点击提交3、生成代码,压缩包里有前端和后端代码 三、配置后端模块1、新建模块2. 修改pom.xlm2.1 修改第一个pom.xml 2…...

【LaTeX和Word版】写论文时如何调整公式和文字的间距
在撰写论文时,公式和文字段落的间距可能会显得不一致,特别是插入的公式占用单独一行时。这种情况下,可以通过以下两种方法来调整公式和文字段落的间距,使论文排版看起来更加整齐和一致。 1. 使用 LaTeX 调整段落间距 (1) 调整行…...

快乐数--双指针
一:题目 题目链接:. - 力扣(LeetCode) 二:算法原理 三:代码编写 int Sum(int n){int sum 0;while(n){sum pow(n%10,2);n / 10;}return sum;}bool isHappy(int n) {int slow n,fast Sum(n);while(slow …...

论文阅读-三维结构几何修复(导-4)
摘要 解决了3D数字模型中大洞修复的问题。 通过基于字典学习的方法解决了缺失区域推断问题,该方法利用从单个自相似结构和在线深度数据库中得出的几何先验。利用几何先验提供的线索,从洞的边界周围自适应地传播局部3D表面平滑性来恢复底层表面。在合成…...

数字货币交易所源码开发:场外(OTC)与币币交易所系统的构建指南
在区块链技术迅速发展的推动下,数字货币市场的需求大幅增加。数字货币交易所作为加密货币的主要交易场所,成为了开发者和企业关注的焦点。市场上有多种交易模式可供选择,最常见的是场外交易(OTC)和币币交易。本篇文章将…...

C++ 进阶:类相关特性的深入探讨
⭐在对C 中类的6个默认成员函数有了初步了解之后,现在我们进行对类相关特性的深入探讨! 🔥🔥🔥【C】类的默认成员函数:深入剖析与应用(上) 【C】类的默认成员函数:深入剖…...
C++ 多态、虚析构、模板类、常函数、虚继承、虚函数和纯虚函数相关知识和问题总结
1. C 中的多态 多态(Polymorphism)是面向对象编程中的一个重要特性,它允许使用相同的接口来表示不同的类型。由于派生类重写基类方法,然后用基类引用指向派生类对象,调用方法时候会进行动态绑定,这就是多态…...

计算机组成原理一句话
文章目录 计算机系统概述存储系统指令系统 计算机系统概述 指令和数据以同等地位存储在存储器中,形式上没有差别,但计算机应能区分他们。通过指令周期的不同阶段。 完整的计算机系统包括,1)软件系统:程序、文档和数据&…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...

水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关
在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...