bash的特性之多命令执行

一上午的时间学习了bash的特性之多命令执行,和对shell脚本编程的初步学习。bash的特性的多

命令执行的顺序执行结构就是把几个命令用分号隔开。而选择执行结构有与、或、非三种运算法则。shell脚本编程首先要知道什么叫编程?编程就是为了能够让用户在使用计算机的时候,以非交互的形式完成某些任务,我们需要将这些任务编制成一个文件,让计算机顺序读取,从而实现某些功能。编程语言分为高级语言和低级语言,其中高级语言可以根据不同的形式分为几种。shell脚本编程是指过程式的编程语言,解释运行,依赖于外部程序文件运行。

下面是知识点的具体总结:

顺序执行结构:

~]#COMMAND1;COMMAND2;……

选择执行结构:

逻辑运算:

与:逻辑乘法  $$  双目运算符

0:SUCCESS--true

1-255:FAILURE—>false

true$$true=true

true$$false=false

false$$true=false

false$$false=false

与的短路逻辑运算:只要第一个操作数为false,则其逻辑运算的结果一定为false

COMMAND1$$COMMAND2

如果COMMAND1能够成功执行,则COMMAND2会被执行

如果COMMAND1不能够成功执行,则COMMAND2不会被执行

!COMMAND1$$COMMAND2

如果COMMAND1能够成功执行,则COMMAND2不会被执行

如果COMMAND1不能够成功执行,则COMMAND2会被执行

或:逻辑加法 ||  双目运算符

ture||ture=ture

ture||false=ture

false||ture=ture

false||false=false

或的短路逻辑运算:只要第一个操作数为ture,则其逻辑结果一定为ture

COMMAND1||COMMAND2

只要COMMAND1成功执行则COMMAND2不需要执行,

只有当COMMAND1执行失败的时候,COMMAND2才会执行

!COMMAND1||COMMAND2

如果COMMAND1能够成功执行,则COMMAND2会被执行

如果COMMAND1不能够成功执行,则COMMAND2不会被执行

非:逻辑取反 !  单目运算

!STRING 读取命令历史空间的内容

!ture=false

!false=ture

! COMMAND

!COMMAND1$$COMMAND2 相当于COMMAND1||COMMAND2

!COMMAND1||COMMAND2 相当于COMMAND1$$COMMAND2

德摩根定律:

!(A$$B) ==!A||!B

!(A||B) ==!A$$!B

逻辑运算符号优先级:

!>$$>||

异或: 双目运算符

比对两个操作数是否相同,如果不同,则逻辑运算结果为真,如果不同,则逻辑运算为假。

shell脚本编程:

什么叫编程?

编写程序源代码,为了能够让用户在使用计算机的时候,以非交互的形式完成某些任务,我们需要将这些任务编制成一个文件,让计算机顺序读取,从而实现某些功能。

编程语言:

高级语言:

根据源代码的处理方式:

编译运行语言: 源代码-编译器(编译)-汇编器(汇编)-[链接器(库的链接)]-可以直接执行的二进制文件;

解释运行语言: 源代码-直接启动跟源代码对应的解释器程序,由解释器边运行边执行

根据其编程过程中的功能的实现是调用库还是调用外部程序文件:

完整编程语言:利用库或编程组件进行编程

脚本编程语言:解释器

shell脚本:调用shell程序,其次调用需要的外部命令文件,命令解释器,提供了单一的编程功能接口,过程式编程逻辑支持

根据程序的编程范式划分:程序=指令+数据  程序=算法+数据结构

过程式编程语言:以指令为中心,围绕指令(算法)的实现来设计数据和数据结构,数据为指令服务的

算法或者指令的实现形式:顺序执行、选择执行、循环执行

对象式编程语言:以数据为中心,将数据实例化为类,围绕着数据的需求来部署指令

类、属性、方法

低级语言:汇编语言

shell脚本编程

过程式的编程语言,解释运行,依赖于外部程序文件运行。

shell脚本是什么?

纯文本文档---文件中所存储的数据都是以字符为单位存储的。

根据用户的需求来解决用户问题的大量命令的组合体

“执行幂等性”--—任何命令多次执行结果是一致的。

很多命令不具备“执行幂等性”,在shell脚本中就需要使用大量的程序逻辑来判断某个命令是否满足其运行条件,以避免在程序运行过程中出现严重错误

shell脚本中的代码内容:

1. 首行必须是shebang,解释器路径,必须占据绝对行首:在执行时启动相应的解释器,以解释脚本内诸多的命令。

#!/bin/bash

#!/bin/sh

#!/usr/bin/python

#!/usr/bin/perl

2.在shell脚本中,除了shebang之外,以#占据绝对行首的内容,均为注释行,解释器会忽略这样的行的内容。

3.解释器会忽略所有的空白行

4.大量的命令和关键字(if、else、then、do、while、for…)

注意:shell脚本一旦运行,是在当前的shell中根据shebang的指示,开启一个解释器(子shell)解释执行代码内容,shell脚本的内容是在一个子shell进程中实现的。

我们可以利用文本编辑工具来编写shell脚本:

nano、vi、vim、emacs、pico  推荐使用vim

约定下,脚本文件的文件名的后缀为 .sh 也可以不加。

脚本的运行方法:

1.为脚本文件赋予执行权限,直接运行此文件

chmod+x/PATH/TO/SCRIPT_FILE

~]#/PATH/TO/SCRIPT_FILE

如果在执行脚本时,只写脚本文件名不给出路径的话,必须确保PATH变量中保存的路径下,能够找到该脚本文件。

2.直接使用解释器运行脚本,将脚本作为解释器命令的参数

bash /PATH/TO/SCRIPT_FILE

时间: 2024-11-02 21:26:38

bash的特性之多命令执行的相关文章

Linux学习笔记:bash特性之多命令执行,shell脚本

今天我们学习了bash特性多命令执行包括各个命令之间的逻辑关系.其中包含"与""或""非"命令的执行.下面即为我们所学习的这些逻辑命令关系之间的关系. 选择执行结构: 逻辑运算: 与:逻辑乘法,&& 0:成功执行 -->true 1-255:失败 -->false true && true =true true && false = false false && true

Linux自学笔记(7):bash基础特性及基础命令

bash的基础特性(1)命令历史history调用上一条命令的最后一个参数!$ESC,.atl+.控制命令历史的记录方式环境变量:HISTCONTROLignoreedups:忽略重复的命令:连续且相同为"重复"ignorespace:忽略所有以空白开头的命令ignoreboth:ignoreedups,ignorespace 修改环境变量的方式:export 变量名为"值"变量赋值:把赋值符号后面的数据存储于变量名指向内存空间:(2)命令补全bash执行命令:内部

Linux之bash shell特性

一.shell是什么? Shell 本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支. 如图shell是一个应用程序,是用户管理应用程序的一个接口. 二.广义上shell的分类 GUI:图形用户界面 KDE,GNOME,XFCE CLI:

bash的特性总结

什么是bash:       shell作为用户与计算机内核交互的接口,是用户与计算机沟通的桥梁,而bash(borne again shell)是众多shell里面最为流行一种,bash作为众多shell里面的一种有着众多的特性,掌握bash的众多特性将会是我们今后学习linux必经之路.       首先介绍一下bash的特性之一       命令历史:这个特性是将用户之前执行过的命令保存到缓存当中,通过上下键以及history命令的特殊选项来方便用过顺利完成操作系统功能.键入不带任何选项的

5、自学——Linux的学习进度与任务【shell中bash的特性】

shell中bash的特性 shell中bash的特性 bash特性之一:命令行展开   把命令行的给定的一个特殊符号自动替换为别的字符串的机制 目录: 命令:cd [内置命令] 工作目录:当前所处的目录 cd:change directory(切换目录) cd 目标路径(不能是一个文件必须是一个目录) 所有从根起始的都是绝对路径:/文件名 基名:路径最后一个文件的名字  /x/y/z/m/n: 目标路径  /x/y/z/m: 是目录名或者路径名   两个命令: 获取路径的基名:   # bas

bash的特性

bash的特性 Bash (GNU Bourne-Again Shell) 是许多Linux发行版的默认Shell.事实上,还有许多传统UNIX上用的Shell,例如tcsh.csh.ash.bsh.ksh等等,Shell Script大致都类同,当您学会一种Shell以后,其它的Shell会很快就上手,大多数的时候,一个Shell Script通常可以在很多种Shell上使用 bash是大多数Linux系统以及Mac OS X默认的shell,它能运行于大多数类Unix风格的操作系统之上,甚至

Shell中bash的特性小结

Shell: 用户与操作系统之间完成交互式操作的一个接口程序,为用户提供简化了的操作:上世纪的70年代中期在贝尔实验室,Bourne位Unix开发了一个shell程序Bourne Shell,简称sh:Bill Joy:用C语言根据sh重新编写 C Shell,简称csh:躺床上为其衍生版:David Korn:集合cshhesh的优点研发的Korn Shell,简称ksh:GNU:GNU组织发现sh是比较好用的又进一步开发Borne Again Shell,简称bash:Linux系统中默认的

bash相关特性

一.bash的快捷键:        C:Ctrl键:M:Alt键:E:ESC键        C-l:清屏,相当于clear命令:        C-a:将光标跳转至命令行编辑模式的行首:        C-e:将光标跳转至命令行编辑模式的行尾:        C-k:删除命令行编辑模式的光标所在位置至行尾的内容:        C-u:删除命令行编辑模式的光标所在位置至行首的内容:        C-c:结束前台进程:        M-.:引用上一个命令中的最后一个参数:(在Xshell中

[Shell]Bash基本功能:多命令顺序执行与管道符

/*----------------------------------------------------------------------------------------------- @黑眼诗人 <www.chenwei.ws> -----------------------------------------------------------------------------------------------*/ 一. 多命令顺序执行 分号(;)        逻辑与(&a