shell脚本攻略(学习笔记)--1.3多命令逻辑执行顺序

骏马金龙 骏马金龙     2022-08-06     258

关键词:

Linux中可以使用分号“;”、双and号“&&”和双竖线“||”来连接多个命令。

1.3.1 分号;

当多个命令想在写在一行上同时执行,可以在每个命令后使用分号“;”。多个命令之间没有任何逻辑关系,所有写出来的命令都会执行,即使某个命令有错误也不影响其他命令。

[[email protected] ~]# ls das;echo "hdakl"

ls: cannot access das: No such file or directory

hdakl

1.3.2 &&

逻辑与。command1  &&  command2,只有当command1正确执行才执行command2,如果command1不正确执行,则不执行command2。如何判断正确,bash内部会通过预定义变量“$?”来判断。

[[email protected] ~]# echo "hdakl" && ls ds 

hdakl

ls: cannot access ds: No such file or directory

[[email protected] ~]# ls das && echo "hdakl"

ls: cannot access das: No such file or directory

1.3.3 ||

逻辑或。command1 || command2,只有当command1不正确执行才执行command2,command1正确执行则不会执行command2。||和&&都是短路符号,符号左右的命令之间具有逻辑关系。

[[email protected] ~]# ls das || echo "hdakl" 

ls: cannot access das: No such file or directory

hdakl

[[email protected] ~]# echo "hdakl" || ls ds   

hdakl

一般要联合使用&&和||的时候,基本上都会先逻辑与再逻辑或command1 && command2 || command3。因为在实际中,command2和command3应该都是想要执行的命令。如果command1正确执行,$?就等于0,执行command2,再看情况执行command3,如果command1错误执行,$?就不等于0,不执行command2,但是这时根据这个非0,判断了 || 右边的应该要执行。

shell脚本攻略(学习笔记)--1.7expr命令全解

expr命令可以实现数值运算、数值或字符串比较、字符串匹配、字符串提取、字符串长度计算等功能。它还具有几个特殊功能,判断变量或参数是否为整数、是否为空、是否为0等。先看expr命令的info文档infocoreutils‘exprinvocation‘... 查看详情

shell脚本攻略(学习笔记)--1.8别名

ll就是ls-l的别名。可以自定义别名来代替某些命令配合某些选项,也可以定义别名组合多个命令。例如定义rm的别名rmb使其删除某内容时自动备份到目录中去。[[email protected]tmp]#aliasrmb=‘cp-a[email protected]/tmp/backup/&&rm-... 查看详情

shell脚本攻略(学习笔记)--1.4变量(基础)

假设变量str,设置或修改变量属性时,不带$号,只有引用变量时才使用$号。也就是说变量是str,而不是$str。$只是操作变量时的一种符号形式,还有比如${}、${#}、$(())等符号形式,它们分别代表不同的意思。这一点很容易搞错... 查看详情

shell脚本攻略(学习笔记)--1.5进行数学运算

使用let、(())或[]进行基本的整数运算,使用expr和bc进行高级的运算,包括小数运算。[[email protected]tmp]#str=10[[email protected]tmp]#letstr=str+6[[email protected]tmp]#letstr-=5[[email protected]tmp]#echo$str11还可以自 查看详情

shell脚本攻略(学习笔记)--1.7数组

bash里有两种数组:普通数组和关联数组。普通数组只能使用整型数值作为数组索引,关联数组可以使用字符串作为索引。1.7.1普通数组定义数组的方式一:[[email protected]tmp]#array_test=(1234)它们分别存储在索引位0-3的位置上,是... 查看详情

shell脚本攻略(读书笔记)--1.11命令替换和子shell的作用

1.11.1命令替换Linux中使用反引号“``”(在波浪线的按键上)或者$()来执行命令替换。一般以$()更直观也更方便敲入。[[email protected]tmp]#echoCanyoutellmewhatdateitis? Ohmypleasure$(date+%F)         查看详情

shell脚本攻略(学习笔记)--1.12read基础

要与Linux交互,脚本获取键盘输入的结果是必不可少的,read可以读取键盘输入的字符。1.限制输入字符例如,输入了5个字符后就结束,将输入的5个字符存入变量。换句话说,依靠输入的字符数来作为结束标志。read-nnumvar:将输... 查看详情

shell脚本攻略(学习笔记)--1.2echo和printf打印输出

1.2.1echo的引号问题关于echo的用法,注意点就是单引号和双引号的特殊情况。以打印“HelloWorld!”为例。[[email protected]tmp]#echoHelloWorld!HelloWorld![[email protected]tmp]#echo‘HelloWorld!‘HelloWorld![[email prot 查看详情

shell脚本攻略(学习笔记)--2.5tr

tr主要用于映射结果集、压缩和删除字符。我个人感觉特别有用,特别是压缩连续空格(空行)为一个空格(空行),让不规则的信息变得规则。2.5.1tr映射tr[options][SET1][SET2]如果同时指定了SET1和SET2,则实现的是将SET1的符号按位... 查看详情

shell脚本攻略(读书笔记)--1.10调试脚本

使用sh-x或这bash-x可以调试脚本,调试时会为每一行输出并输出状态,通过它也可以看出脚本中命令的执行顺序。也可以在脚本中使用set设置调试区域。例如调试上面的time_calculate.sh脚本。[[email protected]tmp]#sh-xtime_calculate.sh++dat... 查看详情

shell工具和脚本:学习笔记

....io/。本篇为学习第二节课所做的笔记,主题是Shell工具和脚本,在这节课中,介绍了bash作为脚本语言的一些基础操作,以及几种最常用的shell工具。变量赋值:foo 查看详情

linux学习第三周总结(代码片段)

...重点,内容比较多,说要简单提一下,不做详解一、shell脚本编程基础内容:1.编程基础2.脚本基本格式3.变量4.运算5.条件测试6.条件判断if7.条件判断case8.配置用户环境shell脚本:包含一些命令或声明,并符合一定格式的文本文件格... 查看详情

shell脚本——学习笔记(包含应用案例)(代码片段)

题头为本人编写shell脚本格式^v^#!/bin/bash#****************#Author:Pakho#Date:2021-00-00#FileName:.sh#****************循环Expect命令我们通过Shell可以实现简单的控制流功能,如:循环、判断等。但是对于需要交互的场合则必须通过人工来干... 查看详情

shell学习笔记(代码片段)

...包含头文件用来做解析。#!/bin/bash上面是用/bin/bash来解析脚本也可以用/bin/sh来解析的输出信息比如我们C的printf在shell可以用echo来输出。下面是输出helloworld这个字符串#!/bin/bashecho"helloworld"#输出helloworld字符串也可以直接在你... 查看详情

学习六十三(代码片段)

20.1shell脚本介绍20.2shell脚本结构和执行20.3date命令用法20.4shell脚本中的变量shell脚本介绍shell是一种脚本语言aming_linuxblog.lishiming.net可以使用逻辑判断、循环等语法可以自定义函数shell是系统命令的集合shell脚本可以实现自动化运维... 查看详情

学习六十三(代码片段)

20.1shell脚本介绍20.2shell脚本结构和执行20.3date命令用法20.4shell脚本中的变量shell脚本介绍shell是一种脚本语言可以使用逻辑判断、循环等语法可以自定义函数shell是系统命令的集合shell脚本可以实现自动化运维,能大大增加我们的... 查看详情

shell学习笔记(代码片段)

shell学习笔记一.基本语法1.1基本操作1.2变量1.3数组1.4命令行获取参数1.5数学运算多种方法数学运算方式1数学运算方式2数学运算方式3数学运算方式41.6if语句1.61if整数比较整数比较方式1整数比较方式21.62if字符串比较字符串比较方... 查看详情

linuxshell脚本学习(代码片段)

linuxshell脚本学习笔记文章目录linuxshell脚本学习笔记一、脚本入门1.我的第一个linux脚本2.关于date命令的知识二、shell脚本中的变量1、为什么脚本需要变量?三、shell脚本中的逻辑判断四、shell脚本中的循环1.for循环2.while循环五... 查看详情