shell函数

Shell编程之test

微笑、不失礼 提交于 2020-02-16 10:03:31
test 是 Shell 内置命令,用来检测某个条件是否成立。test 通常和 if 语句一起使用,并且大部分 if 语句都依赖 test。 test 命令有很多选项,可以进行数值、字符串和文件三个方面的检测。 Shell test 命令的用法为: test expression 当 test 判断 expression 成立时,退出状态为 0,否则为非 0 值 test 命令也可以简写为[],它的用法为: [ expression ] # 注意[]和expression之间的空格,这两个空格是必须的,否则会导致语法错误。[]的写法更加简洁,比 test 使用频率高 #!/bin/bash read age if test $age -le 2; then echo "婴儿" elif test $age -ge 3 && test $age -le 8; then echo "幼儿" elif [ $age -ge 9 ] && [ $age -le 17 ]; then echo "少年" elif [ $age -ge 18 ] && [ $age -le 25 ]; then echo "成年" elif test $age -ge 26 && test $age -le 40; then echo "青年" elif test $age -ge 41 && [ $age

shell中的函数

眉间皱痕 提交于 2020-02-16 01:21:42
shell中的函数 1. shell函数格式 2. 函数的调用 3. 函数的参数 1. shell函数格式 shell函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好,放在指定位置,使用时直接调用即可。 shell中的函数和C++、JAVA、Python、C#等其他编程语言中的函数类似,只是在语法中有所差别。 shell函数定义的语法格式: function name ( ) { statements [ return value ] } 对各个部分的说明: function是shell中的关键字,专门用来定义函数; name是函数名; statements是函数要执行的代码 ,也就是一组语句; return value表示函数的返回值 ,其中return式shell关键字,此处用方括号括起来表示这部分可以写也可以不写; 由{ }包围的部分称为函数体 ,调用一个函数,实际上就是执行函数体中的代码 函数定义的简化写法: 函数定义时可以不写function关键字: name ( ) { statements [ return value ] } 如果写了function关键词,可以省略函数名后面的括号: function name { statements [ return value ] } 推荐第二种写法,可以在排查代码错误时更方便。 2. 函数的调用

Linux之shell中的函数

孤者浪人 提交于 2020-02-16 00:02:01
文章目录 一、shell中函数的概念 二、举例 1.计算所有参数的和 一、shell中函数的概念 注意不同的shell版本不一定都支持定义和调用相反的顺序 $# 可以获取传递参数的个数; $@ 或 $* 可以一次性获取所有的参数 $? 可以获取函数的退出状态(返回值) 二、举例 1.计算所有参数的和 来源: CSDN 作者: 马婧瑜 链接: https://blog.csdn.net/weixin_43936969/article/details/104313237

shell基础

限于喜欢 提交于 2020-02-15 23:52:39
shell基础 1.shell是什么? 首先shell的英文含义是“壳”; 它是相对于内核来说的,因为它是建立在内核的基础上,面向于用户的一种表现形式,比如我们看到一个球,见到的是它的壳,而非核。 Linux中的shell,是指一个面向用户的命令接口,表现形式就是一个可以由用户录入的界面,这个界面也可以反馈运行信息 shell在Linux中的存在形式: 由于Linux不同于Windows,Linux是内核与界面分离的,它可以脱离图形界面而单独运行,同样也可以在内核的基础上运行图形化的桌面。 这样,在Linux系统中,就出现了两种shell表现形式,一种是在无图形界面下的终端运行环境下的shell,另一种是桌面上运行的类似Windows 的MS-DOS运行窗口,前者我们一般习惯性地简称为终端,后者一般直接称为shell shell如何执行用户的指令: shell有两种执行指令的方式,第一种方法是用户事先编写一个sh脚本文件,内含shell脚本,而后使用shell程序执行该脚本,这种方式,我们习惯称为shell编程。 第二种形式,则是用户直接在shell界面上执行shell命令,由于shell界面的关系,大家都习惯一行行的书写,很少写出成套的程序来一起执行,所以也称命令行。 总结: shell可以说只是为用户与机器之间搭建成的一个桥梁,让我们能够通过shell来对计算机进行操作和交互

Shell编程---函数部分

穿精又带淫゛_ 提交于 2020-02-15 07:22:23
1.Shell函数的本质 本质 是一段可以重复使用的脚本代码 这段代码被提前编写好了,放在指定的位置,使用时直接调取即可 Shell中的函数和C++、Jave、Python、C#等其他编程语言中的函数类似,只是在语法细节有所差别 2.Shell函数的语法格式 function name ( ) { statements [ return value ] } 关于各个部分的说明: function 是Shell中的关键字,专门用来定义函数 name 三个函数名 statements 是函数要执行的代码,也就是一组语句 return value 表示函数的返回值,其中return是Shell关键字,专门用在函数中返回一个值(用【】括起来的这一部分可以写也可以不写) 注意: 用{ }包围的部分成为函数体,调用一个函数,实际上就是执行函数体中的代码 3.函数定义的简化写法 简化写法1 函数定义时也可以不写function关键字 name ( ) { statements [ return value ] } 简化写法2 若写了function关键字,也可以省略函数名后面的小括号 function name { statements [ return value ] } 4.函数调用 调用Shell函数时可以给它传递参数,也可以不传递 如果不传递参数,直接给出函数名字即可: name

shell脚本基础

南笙酒味 提交于 2020-02-14 10:21:21
目录 1.变量 1.1 变量即可以变化的量 1.2 变量名称注意事项 1.5 bash变量类型 1.5.1 本地变量 1.5.2 环境变量 1.5.3 位置变量 1.5.5 bash内建环境变量 1.5.6 只读变量(常量) 2. 脚本基础 2.1 什么是脚本? 2.2 程序返回值 2.3 脚本测试 2.4 写脚本注意事项 2.5 shell算术运算 2.6 命令间的逻辑关系 示例: 1.变量 1.1 变量即可以变化的量 变量即可以变化的量 1.2 变量名称注意事项 只能包含字母、数字、下划线,并且不能以数字开头 不应该跟系统中已有的环境变量重名,尽量不要全部使用大写,尽量不要用“_”下划线开头 最好做到见名知义 不能使用程序中的保留字,例如if、for等 1.3 变量类型 字符型 数值型 整型 浮点型 布尔型 1.4 变量操作 设置变量 引用变量 撤销变量 unset 变量 单引号与双引号的区别 1.5 bash变量类型 环境变量 本地变量(局部变量) 位置变量 特殊变量(bash内置的,用来保存某些特殊数据的变量,也称系统变量) 1.5.1 本地变量 VAR_NAME=VALUE //本地变量,作用域为当前shell进程。对当前shell外的其它shell进程,包括当前shell的父shell、子shell进程均无效 local VAR_NAME=VALUE //局部变量

Shell中的参数(位置和特殊)

牧云@^-^@ 提交于 2020-02-12 23:11:33
我们先来说一下 Shell 位置参数是怎么回事。 运行 Shell 脚本文件时我们可以给它传递一些参数,这些参数在脚本文件内部可以使用$n的形式来接收,例如,$1 表示第一个参数,$2 表示第二个参数,依次类推。 同样,在调用函数时也可以传递参数。Shell 函数参数的传递和其它编程语言不同,没有所谓的形参和实参,在定义函数时也不用指明参数的名字和数目。换句话说,定义 Shell 函数时不能带参数,但是在调用函数时却可以传递参数,这些传递进来的参数,在函数内部就也使用$n的形式接收,例如,$1 表示第一个参数,$2 表示第二个参数,依次类推 这种通过$n的形式来接收的参数,在 Shell 中称为位置参数 在讲解变量的命名时,我们提到:变量的名字必须以字母或者下划线开头,不能以数字开头;但是位置参数却偏偏是数字,这和变量的命名规则是相悖的,所以我们将它们视为“特殊变量” 除了 $n,Shell 中还有 $#、$*、$@、$?、$$ 几个特殊参数, 我们将在下节讲解 1) 给脚本文件传递位置参数 [root@server1 mnt]# sh test.sh http://www.baidu.com Language: http://www.baidu.com URL: [root@server1 mnt]# sh test.sh http://www.baidu.com http:/

Shell脚本exit用法与区别

筅森魡賤 提交于 2020-02-12 19:48:11
在Shell脚本中,往往会遇到一些判断类型为某个值不符合预期值的时候就退出 主脚本/当前脚本/当前函数 ,那么 Exit 与 return 的用法与区别是什么呢? 下面先使用Exit举个简单例子,脚本内容如下 #!/bin/bash if [[ "$1" == "1" ]];then echo '退出' exit 0 echo 'exit' fi echo 'END' 第一种执行方法:   使用bash解析器进行调用,结果如下 然后第二种执行方法:   此时可以看出同样的脚本,同样的解析器,不同的执行方法会得到不一样的结果 接下来是第三种方法: 此时,第三种执行方法效果与第一种一致 然后是第四种执行方法:    然后 得到的结果与第二张一致。 最后再使用不同的解析器调用看看 那么结果证明: 一,三,五的执行结果一致 二,四的执行结果一致 通过对比不同的执行方法与结果,我们可以得出一个结论:   当使用下面三种执行方法时: 此时的脚本内容会作为一条一条的指令直接应用到当前终端, 而使用解析器或者使用 ./ 的时候则是为shell脚本运行一个进程, 当遇到exit的时候应用的是这一个进程,反之则是应用到当前控制终端,也就是相当于在终端执行exit命令, 此时会注销当前登陆终端的用户,如果当前终端是采用一个用户进行登陆的话就会断开连接, 如果是多层登陆的话则会回退到下一层的用户终端 来源

shell中函数的定义 if语句 for循环 while循环

泄露秘密 提交于 2020-02-11 15:47:08
文章目录 shell中函数的定义 if语句 for循环 while循环 1.函数的定义 2.if语句 3.for循环 4.while循环 shell中函数的定义 if语句 for循环 while循环 1.函数的定义 举例: #!/bin/bash foo(){ #定义函数 echo $* } bar(){ #定义函数 echo $@ } foo 1 2 3 4 #调用函数 bar 1 2 3 4 #调用函数 具体格式: 定义函数: 函数名(){ 函数要执行的内容 ..... } 调用函数: 函数名 要传递的参数 2.if语句 例子: #!/bin/bash if [ "$1" == 10 ] then exit 0 #参数正确 退出状态为0 else exit 1 #参数不正确 退出状态为1 fi 格式: if [ 条件 ] then 符合条件时要做的事 else 不符合条件时要做的事 fi 3.for循环 例子 #!/bin/bash test(){ echo "未加引号,二者相同" echo $* echo $@ echo "加入引号后对比" echo "-------" for N in "$*" do echo $N done echo "########" for N in "$@" do echo $N done } test 11 22 33 格式: for N in

shell脚本的调试技巧

*爱你&永不变心* 提交于 2020-02-11 03:55:00
参考文档 请参考文章: http://www.ibm.com/developerworks/cn/linux/l-cn-shell-debug/index.html http://blog.csdn.net/baobeijianjia/article/details/4353560 http://blog.csdn.net/wklken/article/details/6991581 Linux笔记——shell补充:参数传递&函数等 读后的感觉,还是用shell的选项灵活,方便。 trap方式在捕捉ERR信号的时候比较方便。 shell的执行选项 -n: 只是读取脚本,但不执行命令。用于在执行脚本前确认脚本中是否存在语法错误。 -c: 选项使shell解释器从一个字符串中而不是从一个文件中读取并执行shell命令 。当需要临时测试一小段脚本的执行结果时,可以使用这个选项。 -x:选项可用来跟踪脚本的执行,是调试shell脚本的强有力工具。“-x”选项使shell在执行脚本的过程中把它实际执行的每一个命令行显示出来,并且在行首显示一个"+"号。 "+"号后面显示的是经过了变量替换之后的命令行的内容,有助于分析实际执行的是什么命令。 “-x”选项使用起来简单方便,可以轻松对付大多数的shell调试任务,应把其当作首选的调试手段。 shell的执行选项除了可以在启动shell时指定外