linux shell学习之shell流程控制】的更多相关文章

while循环: 介绍:while循环是不定循环,也称作条件循环.只要条件判断成立,循环就会一直继续执行,直到条件判断不成立,循环才会停止,这就是和for的固定循环不太一样了. while [ 条件判断 ] do 程序 done 示例: [root@localhostA1 bash]# vi while1.sh #!/bin/bash #从1到100 i= s= ] ;do s=$(( $s+$i )) i=$(( $i+ )) done echo "The sum is :$s" […
for循环的语法: 1.  for 变量 in 值1 值2 值3.... do 程序 done 例如:下列脚本会分别打印4次 分别是morning noon afternoon evening的值 #!/bin/bash #打印时间 #Author Mrfeng for time in morning noon afternoon evening do echo $time done 例如批量解压缩: #!/bin/bash #批量解压缩脚本 #Author: Mrf path=/opt/lam…
1.单分支if条件语句 if [ 条件判断式 ];then 程序 fi 或者 if [ 条件判断式 ] then 程序 fi 注意事项: 1.if语句使用fi结尾,和一般语言使用大括号结尾不同 2.[ 条件判断式 ]就是使用test命令判断,所以中括号和条件判断式之间必须有空格 前后都要有 3.then后面跟符合条件之后执行的程序,可以放在[]之后,用";"分号分割.也可以换行写入,就不需要";"了 例如:判断分区使用率 脚本说明: 我的根分区是/dev/sdb5…
Shell学习之Shell特性 目录 命令和文件自动补齐功能 命令历史记忆功能 history.上下键.!number.!string.!$.!! 别名功能 alias.unalias cp.~username/.bashrc.\cp -rf /etc/hosts 快捷键 ^R ^D ^A ^E ^L ^U ^K ^S ^Q 前后台作业控制 输入输出重定向 输入与输出 管道 | tee 命令排序 命令和文件自动补齐功能 这个不说了,我们在输入命令的时候,按tab键补全. 命令历史记忆功能  hi…
在linux shell编程中,流程控制结构与语句,也算是shell脚本中的重点了,不了解的朋友,跟随脚本小编一起来学习下吧. linux控制流结构学习. 一,shell控制流结构 1.控制结构   6.while循环 2.if then else语句 7.until循环 3.case 语句  8.break控制 5.for循环    9.continue控制 1,if then else  if 条件1 如果条件1为真  then 那么  命令1 执行命令1  elif 条件2 如果条件1不成…
-------------------------------------------------------------------------------------------------------- [条件判断] 1. 按文件类型进行判断 -b 文件    判断该文件是否存在,并且为块设备文件(是块设备文件为真) -c 文件    判断该文件是否存在,并且为字符设备文件(是字符设备文件为真) -d 文件    判断该文件是否存在,并且为目录文件(是目录为真) -e 文件    判断该文…
在Bash Shell中,流程控制命令有2大类:“条件”.“循环”.属于“条件”的有:if.case:属于“循环”的有:for.while.until:命令 select 既属于“条件”,也属于“循环”.不管是哪一种,均需进行条件测试,再根据测试结果,决定程序流程进行的方向. 以下逐一说明这些命令的用法. 第一节:命令的结束状态 Bash Shell Script 可由许多命令组成.每一个命令执行后,都会传回一个结束状态值,如果执行成功,传回0,如果执行失败,则传回非0值.执行失败,也分成许多状…
// echo read printf 流程控制 命令 1.read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量 read hello 输入xxx echo $hello 显示 xxx read 参数 -p 提示文字 -n 输入的字符长度 -t 输入限时 -s 隐藏输入内容 输入时不显示 read -p '请输入密码' -s password 输入 echo $password // 显示刚才输入的字符 2.echo -e "11111\n2222" /…
Shell 流程控制 和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { search(q); } else { // 不做任何事情 } 在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else. if else if if 语句语法格式: if condition then command1 command2 ... commandN fi 写成一行(适…
Python流程控制 Python中的流程控制主要包含两部分:条件判断和循环. Python的缩进和语法 为什么要在这里说缩进和语法,是因为将要学习的条件判断和分支将会涉及到多行代码,在java.c等其他语言中,代码块使用{}进行包裹,而Python中不同. Python使用缩进(空格)和冒号来表示包含的意思,但Python并没有规定使用几个缩进,目前通用的标准是使用4个空格. >>> if ( 1 > 2) : # 冒号 ... print(False) # if 包含的代码段,…
前言 在上一节的学习中.已经介绍了几种基本类型.包括字符串的定义,以及字符串中索引.切片.字符串拼接的使用方法.以及基本的整形数据运算.一些之前都没有了解过的运算符.比如 ** 乘方 //整数除法等.这一节,我们将学习最基本的流程控制工具,比如 if 条件判断 for 循环 while 循环 if-elif-else 判断 num = int(input("输入一个数字 :")) if num > 10: print("input > 10") elif…
流程控制case语句: 介绍:多分支case条件语句 1.case语句和if..elif..else语句一样都是多分支条件语句,不过和if多分支条件语句不同的是,case语句只能判断一种条件关系,而if语句可以判断多种条件关系. 格式: case $变量名 in "值1") 如果变量的值等于值1,则执行代码 ;; "值2") 如果变量的值等于值2,则执行代码 ;; "值3") 如果变量的值等于值3,则执行代码 ;; *) 如果变量的值是其他,则执…
一.变量的命名 变量名必须以字母或下划线开头,由字母.数字.或下划线组成,变量名的长度不能超过255个字符. 二.变量的分类 1. 用户自定义变量 2. 环境变量 3. 位置参数变量 4. 预定义变量 三.用户自定义变量 用户自定义变量是“局部变量”,只能在当前的Shell中生效 1. 定义变量 变量名=变量值 示例:…
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 程序的流程控制(流程结构):顺序结构.选择结构.循环结构 // 顺序结构:从上向下,顺序执行 System.out.println("出生..."); System.out.println("享受人生..."); System.out.println("挂了...")…
主要内容: 1. strings和strconv使用2. Go中的时间和日期类型3. 指针类型4. 流程控制5. 函数详解 1. strings和strconv使用 //strings . strings.HasPrefix(s string, prefix string) bool:判断字符串s是否以prefix开头 . . strings.HasSuffix(s string, suffix string) bool:判断字符串s是否以suffix结尾. . strings.Index(s…
© 版权声明:本文为博主原创文章,转载请注明出处 Lua流程控制 - 通过程序设定一个或多个条件语句 - 在条件为true时执行指定程序代码,在条件为false时指定其他指定程序代码 - 控制结构语句:if语句.if...else语句.if嵌套语句 1.if语句 - 语法:if(布尔表达式) then ...<条件为true时执行语句> end 2.if...else语句 - 语法:if(布尔表达式) then ...<条件为true时执行语句> else ...<条件为fa…
04_流程控制 程序的执行结构: 顺序结构 分支结构 循环结构 可以通过某些特定的控制语句来控制代码的执行结构 分支流程控制 if else 基本语法 可以只有if没有else,但是不能没有if只有else 如果if或者else后面的大括号中只有一句语句,那么大括号可以省略 多分支结构 switch case 基本语法 注意: case捕获的数值不能多个相同重复 condition的数值类型和case捕获的数值类型匹配 break:跳出 穿透性:在C#中,如果一个case后面没有语句,那么bre…
Java流程控制 1.顺序结构 java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句往下执行. 顺序结构是最简单的算法结构,它是任何一个算法都离不开的一种基本算法结构. 2. 选择结构 1.if单选结构 语法: if(布尔表达式){ //如果布尔表达式为true将执行的语句 } 小例子 Scanner scanner = new Scanner(System.in); System.out.println("请输入内容:"); String s = scanner.ne…
之前曾提到,在Bash中什么是真什么是假,是以命令的结束状态是否为0来做判断.传回0,即为真:传回非0,即为假. 在Bash中,这种可以影响程序流程的式子,称为条件判断式.判断式的操作数分成“单元”及“二元”两种.如“-f 文件”可测试文件是否存在,运算符 -f 后接一个操作数“文件”,这种判断式称为“单元”:如“参数 1 -gt 参数2”可测试“参数1”的值是否大于“参数2”,运算符 -gt 的左右各接一个要比较的参数,这种判断式称为“二元”.大多数“单元”的判断式用于判断文件的相关属性,少数…
第三节:条件判断的写法 if条件判断中,if的语法结构中的“条件判断”可以有多种形式.测试结果是真是假,就看其传回的值是否为0. 条件测试的写法,有以下10种: 1.执行某个命令的结果 这里的命令,可包括管道命令,例如:命令1 | 命令2 | 命令3,称为 pipeline,其结束状态为最后一个命令执行的结果. 举例: #!/bin/bash if grep -q "rm" fn.sh; then echo "find in command." else echo…
while循环的语法: while 条件测试 do     命令区域 done 举例: #!/bin/bash declare -i i=1 declare -i sum=0 while ((i<=10)) do let sum+=i let ++i done echo $sum 使用while, 读取文件内容 while循环,经典的用法是搭配转向输入,读取文件的内容,做法如下: #!/bin/bash while read line do echo $line done < cvsfile…
没啥好说的,直接从demo里看吧!(1) if 语句shell脚本的if语句格式如下: 判断输入两个参数的大小,执行结果如下 (2)for 循环for循环语法格式如下: 执行结果如下 (3)while 语句 死循环 (4)until 循环until 循环执行一系列命令直至条件为 true 时停止.until 循环与 while 循环在处理方式上刚好相反.一般 while 循环优于 until 循环,但在某些时候—也只是极少数情况下,until 循环更加有用.until 语法格式: 运行结果:…
一 条件判断式语句 1.按文件类型进行判断 测试类型 作用 -b 文件 判断文件是否存在,并且是否为块设备文件(是块设备文件为真) -c 文件 判断文件是否存在,并且是否为字符设备文件(是字符设备设备文件为真) -d 文件 判断文件是否存在,并且是否为目录文件(是目录文件为真) -e 文件 判断文件是否存在,(存在为真) -f 文件 判断文件是否存在,并且是否为普通文件(是普通文件为真) -L 文件 判断文件是否存在,并且是否为符号链接文件(是符号链接文件为真) -p 文件 判断文件是否存在,并…
if else read -p '请输入分数:' score if [ $score -lt 60 ]; then echo '60分以下' elif  [ $score -lt 70 ]; then echo '60-70分之间' elif  [ $score -lt 80 ]; then echo '70-80分之间' elif [ $score -lt 90 ]; then echo '80-90分之间' else  echo '90分以上' fi case read -p '请输入数字'…
case的语法结构: case 待测项 in 样式串1] 命令区域1 ;; (样式串2) 命令区域2 ;; 样式串3) 命令区域3 ;; *) 命令区域 ;; esac 命令区域,可以是单一指令或多行指令,但最后一个指令要以 ;; 结束. 样式串行可用字符串和通配符组成,默认会区别大小写. 如果样式串行有好几个字符串要对比,要使用 | 隔开.字符 | 有 “或”的意思,意即:只要符合其中之一,就算比较成功. 样式串行可写成‘(样式串行)’,或省略左边的括号,写成 '样式串行)'.一般,以后面这个…
for循环的运作方式,是将 串行 的元素的元素一一取出,依序放入制定的变量中,然后重复执行含括的命令区域(在 do 与 done 之间),直到所有元素取尽为止. 其中,串行是一些字符串的组合,彼此用 $IFS 所定义的 分隔符(如空格符)隔开,这些字符串称为字段. for的语法结构如下: for 变量 in 串行 do     命令区域 done 举例: for i in 1 2 3 4 do echo $i done for循环的语法中,“in串行”这段可以省略不写,此时,Bash会由命令行读…
第一节:breank命令 4种循环 for.while.until.select,如果想要提早结束循环,可在循环中使用break命令.执行break时,会跳出一层的循环,如果想跳出多层循环,可在break命令之后加上层数n(n一定要大于或等于1). #!/bin/bash for ((i=1;i<=10;i++)) do if [ $i -eq 6 ]; then break fi echo $i done 行5,如果i的值等于6,就跳出循环,即结束循环. 第二节:continue命令 cont…
一.条件测试操作 1.test 用途:测试特定的表达式是否成立,当条件成立时,命令执行后的返回值为0,否则为其他数值 格式:test 表达式 2.常见的测试类型 ①测试文件状态 格式:[ 操作符 文件或目录 ] 常用的操作符: -d:测试是否为目录 -f:测试是否为文件 -e:测试文件是否存在 -r:测试当前用户是否有读取的权限 -w:测试当前用户是否有写的权限 -x:测试当前用户是否有执行的权限 -L:测试是否为链接文件 ②字符串比较 格式:[ 字符串1 = 字符串2 ] [ 字符串1 !=…
概述 主要介绍子shell历史操作记录的保存以及解析,比如python, scala等,用于(准)实时监控用户行为. 背景 一级shell的历史操作记录已由系统实现,当用户从开始登录shell(这里指父shell)到退出,期间所有的操作记录都将记录在 ~/.bash_history文件里, 但是当我从父shell新建一个子shell时(例如在当前shell执行scala),所有在scala命令行的 操作记录将不会被系统监控到, 那如果我想获取这里操作记录该怎么做, 别担心,办法总比问题多,这里的…