关键词:
bash的特性之多命令执行
一上午的时间学习了bash的特性之多命令执行,和对shell脚本编程的初步学习。bash的特性的多
命令执行的顺序执行结构就是把几个命令用分号隔开。而选择执行结构有与、或、非三种运算法则。shell脚本编程首先要知道什么叫编程?编程就是为了能够让用户在使用计算机的时候,以非交互的形式完成某些任务,我们需要将这些任务编制成一个文件,让计算机顺序读取,从而实现某些功能。编程语言分为高级语言和低级语言,其中高级语言可以根据不同的形式分为几种。shell脚本编程是指过程式的编程语言,解释运行,依赖于外部程序文件运行。
下面是知识点的具体总结:
bash的特性之多命令执行
顺序执行结构:
~]#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
本文出自 “12657170” 博客,请务必保留此出处http://12667170.blog.51cto.com/12657170/1913268
bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
bash特性:命令执行状态返回值bash命令的执行状态分为两种:?1.成功,状态返回值为0。?2.失败,状态返回值为1-255。bash使用特殊变量$?保存最近一条命令的执行状态结果:echo$?bash命令的执行结果:成功 bash命令的执行结果:... 查看详情
bash特性
ctrl+e光标调到行尾ctrl+a 光标调到行首ctrl+u删除字符至行首ctrl+k删除字符至行尾ctrl+w向前删除一个单词ctrl+←/→向左或者向右跳跃一个单次,不支持远程终端HISTSIZE:命令历史数量大小!n执行命令历史中的第n个命令!-n执行命令历... 查看详情
bash的工作特性之命令执行返回值和命令展开的内容及练习示例
命令执行返回值:hell中,$? 就是上一个执行命令或的返回码,例如 执行命令xxxxxecho $? 就输出了执行命令xxxxx的返回码,当然也可以把$?保存到一个变量中,用于后续的计算或者其他判断逻辑。通过 $? ... 查看详情
bash的工作特性及命令状态返回查询
bash的基础特性:命令的执行状态结果 命令执行的状态结果: bash通过状态返回值来输出此结果: &nb 查看详情
bash脚本编程与正则表达式
一、bash特性之多命令执行的逻辑关系 1.命令替换 COMMAND1$(COMMAND2) 2.管道 COMMAND1|COMMAND2|COMMAND3 3.顺序执行结构 COMMAND1;COMMAND2;COMMAND3 4.选择执 查看详情
bash的常见特性及文本查看命令实战
bash的基础特性之一:bash有很多特性能辅助我们完成系统管理命令历史:shell进程会在其会话中保存此前用户提交执行过的命令~]#history我们这个命令第一能保存多少个?第二如果我们系统出现关机了,下次我们在重启以后这些命... 查看详情
bash的基础特性二
1、命令别名 alias是命令别名命令,在生产环境根据常用的命令,可以制作为命令别名,可以提高操作效率 alias:打开当前bash的所有命令别名 定义别名:alias别名=‘执行的命令’ &nb... 查看详情
bash基础特性-命令历史
shell进程会在其会话中保存此前用户提交并执行过的命令可以使用~]#history进行查看,history命令本身属于shell的内嵌命令命令历史可分为内存中的历史命令以及历史文件中的历史命令,其容量默认大小均为1000条(可修改),从主... 查看详情
bash的工作特性之命令执行状态返回值和命名行展开所涉及的内容及其示例演示
1.bash状态返回值: 命令的执行结果状态 成功/失败:两种状态 bash使用特殊变量$?保存最近一条命令的执行状态结果: &nb 查看详情
bash的常见特性及文本查看命令
(一)bash的基础特性命令补全shell程序在接收到用户执行命令的请求,分析完成之后,最左侧的字符串会被当作命令;命令查找机制:shell首先会在内部命令中匹配查找,如果没有找到,则会在PATH环境变量设置的目录中,自左向... 查看详情
bash基础特性
对BASH做一下总结一、命令历史特性: historyshell进程会其会话中保存此前用户提交执行过的命令history是shell的内置命令650)this.width=650;"src="http://s5.51cto.com/wyfs02/M00/78/1F/wKiom1Z2ZjWSJrjdAAA9gP4LoMo818.jpg"title="未命名图片.jpg"width="400 查看详情
bash的基础特性(代码片段)
bash的基础特性:命令补全:Shell程序在接收到用户执行命令的请求,分析完成之后,最左侧的字符串会被当作命令;命令查找机制:查找内部命令;根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名;给定的打... 查看详情
bash特性
bash特性一、命令别名:(自定义命令) 用alias命令查看 alias命令可以用来定义和现实命令的别名 但是使用alias命令定义的别名,其生命仅为当前shell的生命期 对于每个用户来说,都有一个私有的bash文件,用于保... 查看详情
bashshell相关特性(代码片段)
bash基础特性之:命令历史命令历史:shell进程会在会话中保存此前用户提交执行过的命令;查看历史命令:~]#history定制history的功能,可通过环境变量来实现;HISISIZE:shell进程可保留的命令历史条数;HISIFILE:持久保存命令历史... 查看详情
08-bash基础特性及基础命令
bash的基础特性 (1)命令历史 history HISTSIZE:命令历史记录的条数: HISTSIZE:~/.bash_history HISTFILESIZE:命令历史文件记录的条数: history-dOFFSET -c history#:显示历史最近的#条命令: -a:手动追加当前会话... 查看详情
bash基本特性
bash基本特性bash是Linux中最常使用到的shell,它给用户提供了许多便利的功能和特性,下面就介绍一些bash的基本特性。 1、命令历史historybash能为我们提供命令的存储功能,我们也可以借由history命令来查看我们以往输入过的命... 查看详情
bash基础特性
...的环境变量可以通过ehco$#查看#为环境变量 bash的基础特性:(1)命令历史 history 环境变量: HISTSIZE:命令历史记录的条数 HISTFILE;~/.bash_history HISTFILESIZE:命令历史文件记录历史的条数 history-doffset删除某条历史命令 his... 查看详情
bash特性之五
一、bash特性之四,命令别名alias,shell的内建命令,显示当前系统所有的命令别名alias别名="原始命令"ualias别名撤销已经定义的别名。命令使用命令本身,而非命令别名。二、bash特性之五,globbing,统配符 *:匹配任意长度的... 查看详情