首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一文彻底弄懂Linux-Shell编程

条件判断式 ];then 条件成立时, 执行的程序 fi # if语句使用fi结尾和一般语言使用大括号结尾不同 # [条件判断式] 就是使用test命令判断 ,所以中括号和条件判断式之间必须有空格...;; *) 如果变量的值不等于以上列出的任何值则执行默认指令 esac 2、case 语句的使用总结 case 语句比较适合变量值较少且为固定的数字或字符串集合情况(非不确定的内容,  例如范围...几乎所有的case语句都可以用if条件语句实现 case语句就相当于多分支的if/elif/else语句,  但case语句的优势是更规范、易 3、case 语句案例 1、判断输入内容 1.apple...1、for 循环的语法结构 for 变量  in 值集合 do 执行命令 done 2、for 语法说明 for 每次从值集合中取一个值赋值给变量 do - done 将赋值后的变量带入执行的命令得到执行结果...3、打印直角三角形的字符   实例 图片 三、Shell 编程之函数 Shell 函数的本质是一段可以重复使用的脚本代码,  这段代码被提前编写好了,  放在了指定的位置,  使用时直接调 取即可

1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    bash脚本编程

    shell:弱类型编程语言 强:变量在使用前,必须事先声明,甚至还需要初始化: 弱类型编程语言:变量用时声明,甚至不区分类型:(默认为字符) 显式转换,隐式转换 1+c=(ASCII) 10:16bit...shell进程, 命令行中启动的脚本就会继承当前shell环境变量 系统自动执行的脚本(非命令行启动)就需要自我定义需要各环境变量。.../bin/bash(可执行程序的路径) #:注释行,不执行 chmod +x *.sh ./*.sh(独立执行) bash *.sh (可以没有执行权限) 练习:写一个脚本: 1.添加5个用户,...可以自定义回传码(命令执行状态码),没有跟数字,默认最后一次执行的状态码。...执行状态结果 bash -x *.sh 逐步执行显示 注意:执行结果,状态结果 函数的执行状态结果是最后一条命令的执行结果的状态返回值。

    1.3K30

    Shell脚本语言基础

    Shell脚本语言基础1 基本介绍Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。...2 Hello World2.1 文件命名和头部标识、执行方式文件命名:一般以xx.sh为shell脚本文件的名称头部标识:一般在文件内容的第一行加入#!/bin/bash执行方式:一般使用命令....后台运行的最后一个进程的ID号 $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。...$- 显示Shell使用的当前选项,与set命令功能相同。 $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。.../if.sh 4 4a 等于 b6.1.2 case语句(1)基本语法case 变量 in值1) 语句1 ;;值2) 语句2 ;;值3) 语句3 ;;esac(2)案例[root

    19400

    Linux Bash Shell入门教程

    1,BASH 中的变量在引用时都需要在变量前加上 "$" 符号( 第一次赋值及在For循环的头部不用加 "$"符号 ); 2,BASH 中没有浮点运算,因此也就没有浮点类型的变量可用; 3,BASH 中的整形变量的比较符号与...2.4.5 case BASH 中的 case 结构与 C 语言中的 switch 语句的功能比较类似,可以用于进行多项分支控制。...; esac 下面这个程序是运用 case 结构进行分支执行的例子: #!...BASH 中函数参数的定义并不需要在函数定义处就制定,而只需要在函数被调用时用 BASH 的保留变量 $1 $2 ......来引用就可以了;BASH 的返回值可以用 return 语句来指定返回一个特定的整数,如果没有 return 语句显式的返回一个返回值,则返回值就是该函数最后一条语句执行的结果(一般为 0,如果执行失败返回错误码

    2.8K40

    Bash脚本编程(原创)

    当bash作为一个登录的交互shell被调用,或者作为非交互shell但带有--login参数被调用时,它首先读入并执行文件/etc/profile。...表示后台运行的一个进程的ID号 $@ 与$#相同,但是使用时加引号,并在引号中返回每一个参数 $- 显示shell使用的当前选项,与set命令相同 $?...但bash是解释型语言(还有编译型语言),所以变量的定义非常宽泛,在定义时可以不不指明变量类型,使用时在指明就可以了。...=:不等于则为真 单目: -n String: 是否不空,不空则为真,空则为假 -z String: 是否为空,空则为真,不空则假 3、条件测试语句和循环语句 3.1、if语句 格式: (1) 一般...函数可以使程序模块化,提高效率,可以就在当前的 shell 环境中执行,即在执行像 ls 等可执行程序时不产生自进程。

    1.4K30

    Shell编程

    遍历 根目录 下的内容 for f in `ls /`; do echo $f done 3 while 语句 while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件...$sum 运行脚本,输出: 5050 使用中使用了 Bash let 命令,它用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量,具体可查阅:Bash let 命令。.../bin/bash while true; do date sleep 1 done 5 case(switch) Shell case语句为多选择语句。...可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。...后台运行的最后一个进程的ID号 $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。 $- 显示Shell使用的当前选项,与set命令功能相同。 $? 显示最后命令的退出状态。

    5K11

    SHELL(bash)脚本编程二:语法

    复合命令 1、(list) list将在subshell中执行(注意赋值语句和内置命令修改shell状态不能影响当父shell),返回值是list的返回值。...A匹配正则[0-9]{10}\w+' || echo '变量A不匹配正则[0-9]{10}\w+' #if语句 # 此例并没有什么特殊的意义,只为说明几点需要注意的地方: # 1、if后面可以是任何能够判断返回值的命令...list后使用操作符;;时,表示如果执行了本次的list,那么将不再进行下一次的匹配,case命令结束; 使用操作符;&,则表示执行完本次list后,再执行紧随其后的下一个list(不判断是否匹配);...case命令的返回值是执行最后一个命令的返回值,当匹配均没有成功时,返回值为0。 脚本举例: #!...bash中任何复杂难懂的语句都是这些命令的变化组合。

    1.4K20

    Shell基本操作与命令

    4、特殊符号 1)# 用于开头表示定义,用于其他行的行首表示本行注释不执行 2); 多个语句放在同一行用此分隔。 3);; 在使用case时,作为每个选项的结束。...cp `mkdir back` test.sh back ,反引号中的先执行,然后执行拷贝cp命令。 6): 1. 空命令 bash的一个内建命令,退出码是0。与 true作用相同。 2....函数参数的定义并不需要在函数定义处就制定,而只需要在函数被调用时用 BASH 的保留变量 $1 $2 ... 来引用就可以了。...BASH 的返回值可以用 return 语句来指定返回一个特定的整数,如果没有 return 语句显式的返回一个返回值,则返回值就是该函数最后一条语句执行的结果(一般为 0,如果执行失败返回错误码)。...BASH 要求返回值必须为一个整数,不能用 return 语句返回字符串变量。 函数的返回值在调用该函数的程序体中通过 $? 保留字来获得。

    1.5K50

    收藏~ 一篇教会你写90%的shell脚本

    shell脚本就是由Shell命令组成的执行文件,将一些命令整合到一个文件中,进行处理业务逻辑,脚本不用编译即可运行。它通过解释器解释运行,所以速度相对来说比较慢。...执行命令: `ls /etc` : 反引号 (所有的unix系统都支持) $(ls /etc) : $+() (部分unix系统不支持) 多个嵌套使用时,从内向外执行 for file in \s /etc...until condition do command done case Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。...获取的便是这个返回值 如果不加return , 则默认最后一条语句的执行状态所为函数执行状态的返回值,如果最后一条语句执行成功,则$?...sql语句 -u 用户名 -p 用户密码 -h 服务器ip地址 -D 连接的数据库 -N 不输出列信息 -B 使用tab键 代替 分隔符 -e 执行的SQL语句 退出脚本 命令:exit

    2.3K10

    《Linux命令行与shell脚本编程大全》第十二章 使用结构化命令

    许多程序要就对shell脚本中的命令施加一些逻辑控制流程。 结构化命令允许你改变程序执行的顺序。...bash  shell会把这些命令当成一个块,要么不执行,要么全部执行。 例子: #!...如果test命令中列出的条件成立,test命令就就会退出并返回退出状态码0。这样if then就会顺利执行了。 如果不成立,test命令就会退出并返回非0的退出状态码。...= xcy* , str1 is $str1" fi 12.7 case命令 有了case命令就不需要再写出所有的elif语句来不停的检查同一个变量的值了。...如果变量和模式匹配,那么shell会执行为改模式指定的命令。 可以通过竖线操作符在一行中分割出多个模式模式。 *星号会捕获所有与已知模式不匹配的值。

    93880

    高级shell脚本编程指南_python的快速入门

    1 8.2 case条件 shell中case语句为多功能选择语句,与其他语言相通的是,可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。...case语句调用格式如下: case 值 in 模式1) command1 command2 ......以*结尾,并跳出case case需要搭配esac结尾,与C语言中的switch … case语句类似 脚本举例如下 echo '输入 1 到 4 之间的数字:' echo '你输入的数字为:' read...游戏结束 case中想要跳出循环有两个命令:break和continu break命令:允许跳出所有循环(中止执行后面所有的循环) 使用举例 #!...后台运行的最后一个进程的ID号 $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。 $- 显示Shell使用的当前选项,与set命令功能相同。 $? 显示最后命令的退出状态。

    3.2K10

    shell(二)

    bash if_test.sh 脚本执行方式:bash if_test.sh [ start | stop | restart ] 1.1.2case选择语句 你有可能说:上面的if判断语句代码量有点多啊...for_test.sh if_test.sh ... 1.1.4while循环语句 格式: while 条件 do 执行语句 done 注意:条件的类型:命令、[[ 字符串表达式 ]]、(( 数字表达式...:~$ bash while.sh 1 2 3 4 1.1.5until循环语句 格式: until 条件 do 执行语句 done 注意:条件的类型:命令、[[ 字符串表达式 ]]、(( 数字表达式...5.2.2复杂脚本编写 手工执行的命令一定要可执行。 根据发布流程编写脚本的框架。 将手工执行的命令填充到对应的框架函数内部。 增加日志功能,方便跟踪脚本历史执行记录。 主函数中逻辑流程控制好。...设计安全的方面:增加锁文件,保证代码发布的过程中不受干扰;判断输入参数数量;匹配输入参数;提供脚本帮助信息。 调试脚本。 5.2.3注意事项 命令一定要保证能正常执行。

    97420

    一篇教会你写90%的shell脚本!

    shell脚本就是由Shell命令组成的执行文件,将一些命令整合到一个文件中,进行处理业务逻辑,脚本不用编译即可运行。它通过解释器解释运行,所以速度相对来说比较慢。...执行命令: `ls /etc` : 反引号 (所有的unix系统都支持) $(ls /etc) : $+() (部分unix系统不支持) 多个嵌套使用时,从内向外执行for file in \s /etc...until condition do command done case Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。...获取的便是这个返回值 如果不加return , 则默认最后一条语句的执行状态所为函数执行状态的返回值,如果最后一条语句执行成功,则$?...sql语句 -u 用户名 -p 用户密码 -h 服务器ip地址 -D 连接的数据库 -N 不输出列信息 -B 使用tab键 代替 分隔符 -e 执行的SQL语句 退出脚本 命令:exit 在退出脚本时使用不同的错误码

    1.9K01

    Shell 命令行,写一个自动整理 ~Downloads 文件夹下文件的脚本

    Shell 命令行,写一个自动整理 ~/Downloads/ 文件夹下文件的脚本 在 mac 或者 linux 系统中,我们的浏览器或者其他下载软件下载的文件全部都下载再 ~/Downloads/ 文件夹下面...这里大家可以根据自己的需求完善 case 语句 function fileType() { case $1 in 'jpg' | 'png' | 'gif' | 'jpeg' | 'bmp'...case 语句。一开始用 if 判断,越写越丑。查了下 case 语句,果然清爽很多了。 获取文件后缀名。本例中用了两种方法。 awk 方法。awk -F "."...${filename%.*} 取文件名 函数的写法。其实不写 function 也是可以的。 函数自己调自己,和 js 也没太大区别嘛。...echo 最终命令,和实际执行的结果不一定是一致的。 find .

    2.1K100

    气象编程 | Bash拍了拍你说:掌握了我,工作效率起码提高5倍

    平时科研经常接触LINUX平台的小伙伴对shell一定不陌生,但是我们大多数时候使用的就是基础的操作,如cd、ls、mkdir、cp等等。那你们知道它也可以进行强大的数据处理和提高模式运行的效率吗?...下面给大家讲一讲shell编程在数据处理和模式运行中的妙用。主要有三个方面的内容: 1. Shell的简介 2. bash的基本语法,包括变量、数值运算、判断和循环 3...../..Ls -lhMkdir program 把命令都写入aaa.sh,然后执行bash aaa.sh 优缺点 方便并且可以随时看见结果;但是不适合处理复杂问题 适合进行复制的处理;但是脚本编写的成本较高...:while test-condition do commands done 2.5 数组 Bash中数组是通过空格符号隔开,并且是包含在()里面。...3.个例展示 前面展示的可能是我们平时编写脚本经常碰到的问题,但是我们设计到数据处理时,往往交互式命令不能满足需求,我们得通过脚本批量执行来达到我们的要求。

    1.5K32

    shell 学习笔记3

    指定执行脚本的shell #注释行 命令和控制结构  第一步:创建一个包含命令和控制结构的文件  第二步:修改这个文件的权限使它可以执行,chmod u+x  第三步:执行....执行上一个后台命令的pid  $? 执行上一个命令的返回值。   ##examle    #!... case ... esac 语句,格式:   case 变量 in    字符串1) 命令列表1     ;;    ...    ...  shedon为用户 until语句,格式:  until 条件  do   命令  done  until类似while循环,不同的是until是条件返回值为假时才继续执行。  ...#######函数中的变量:  均为全局变量,没有局部变量 #######函数中的参数:调用函数时,可以传递参数,在函数中用$1 $2...来引用 ###sh -x script  将执行脚本并显示所有变量值

    57740

    Shell编程-case

    case 是Shell脚本中用于多分支条件判断的关键字,它允许根据一个值(通常是变量的值)的不同情况执行不同的命令或代码块。...case 结构与多个 if-elif-else 语句相比,更加简洁和易于阅读,尤其适合处理多个相互排斥的条件分支。...执行的命令 ;; *) # 如果 value 不匹配上述任何 pattern 执行的命令(可选) ;; esac value 是要进行匹配的值,...、正则表达式(在 bash 的 extglob 扩展中),或者是具体的字符串。 ;; 表示一个分支结束,类似于 case 语句中的 break,用于结束当前匹配分支的执行。.../bin/bash echo "请选择:1.执行 for 循环;2.执行 while 循环;3.执行调用脚本;其他数字退出" read choice case $choice in 1)

    8210
    领券