15、自学——Linux的学习进度与任务【bash编程之条件判断】

bash编程之条件判断

bash编程之条件判断:判定后续操作的前提条件是否满足

          1、条件判断的常用判断类型(bash内生的):

              整数测试
              字符测试
              文件测试

          2、echo $?(执行状态返回值):

              0:正确
              1-255:错误

              布尔值:
                真 假
        3、逻辑运算:
              与运算:
                真 && 真 = 真(0)
                真 && 假 = 假(非0)
                假 && 真 = 假
                假 && 假 = 假

              或运算:
                真 || 真 = 真(0)
                真 || 假 = 真
                假 || 真 = 真
                假 || 假 = 假

              非运算:
                !真 = 假
                !假 = 真

         4、bash中如何做测试:test命令

            test 比较表达式
            [ 测试表达式 ]:表达式两端必须要有空格;bash的内生命令
            [[ 测试表达式 ]]:同上;bash脚本编程的关键字

            任何命令的执行结果也可以作为判断条件

        5、bash中条件判断使用if:
            单分支:
              if 条件; then
                分支1;
              fi

            双分支:
              if 条件; then
                分支1;
              else
                分支2;
              fi

            多分支:
              if 条件; then
                分支1;
              elif 条件2; then
                分支2;
              elif 条件3; then
                分支3;
              ...
              else
                分支n;
              fi

              只要命令用作条件,就表示引用的是其状态结果(即执行成功与否),而非命令的输出结果,因此,不能使用命令替换符.
              只要希望将命令执行的结果需要保存到一个变量的时候,才需要在命令上加上反引号

bash编程之:整数测试

       1、二元测试:(一般是用两个数进行比较)
            num1 操作符 num2
          操作符:
              -eq 等于
              -ne 不等于
              -le:小于等于
              -ge:大于等于
              -lt:小于[$num1 -lt $num2]
              -gt:大于[$num1 -gt $num2]
  
        2、bash知识点之脚本自动退出
            exit [n] n为不为0,1,127,255的数字

            条件测试:
                bash :每个命令,执行状态都有返回值
                  成功:0
                  失败:非0
                $?:

                脚本的状态返回值:脚本执行的最后一条命令:
                自定义脚本状态返回值:exit[n],获取返回值用$?

                引用命令的执行结果:使用`command`或$(command)
                引用命令执行成功与否的状态结果:一定是直接执行命令。此时,通常需要将执行结果重定向至/dev/null

            组合条件测试:对条件做逻辑运算

                  与:条件1&&条件2

                    条件1为假,则最终结果一定为假,否则,条件2不予执行
                    条件1为真,则最终条件结果决于后面条件,因此,条件2必须执行

                  或:条件1||条件2

                    条件1为真,则最终结果一定为真,否则,条件2不予执行
                    条件1为假,则最终条件结果决于后面条件,因此,条件2必须执行

                  非: !条件
                    与的优先级大于或,或的优先级大于非

bash编程之:字符测试,一般加引号

          双目:
            > : 大于
            < :小于

                 !=, <>: 不等于
            ==:等于,等值比较, 变量需要加引号
            =~:左侧是字符串,右侧是一个模式,判断左侧的字符串能否被右侧的模式所匹配:通常只在[[]]中使用

                         模式中可以使用行首、行尾锚定符,但是模式不要加引号

          单目:
            -n $stringVar: 字符串是否不空,不空为真,空则为假
            -z $stringVar:字符串是否为空,空则为真,不空则假:

时间: 2024-10-11 02:50:43

15、自学——Linux的学习进度与任务【bash编程之条件判断】的相关文章

1、自学——Linux的学习进度与任务【时间日期管理类的命令】

时间日期管理类的命令 时间日期管理类的命令:  # date :显示 # date MMDDhhmm[CC]YY.ss :设定 # date [+FORMAT] %Y:4位年份 %y:  2位年份 %M:  分 %m:月 %d:  日 %H:  时 %S:  秒 %T: 时间(以冒号隔开) %D:日期 %F: 日期(以横杆隔开) unix元年:1970-01-01 00:00:00 %s:timestamp:从unix元年开始到此刻所经历的秒数 # cal   :    显示日历 # cal #

2、自学——Linux的学习进度与任务【获取命令的使用帮助】

获取命令的使用帮助   1.命令的格式: command options argumets 命令  选项 参数 选项:调整命令的执行特性的 选项可以有多个:多个选项之间必须以空格分隔 短选项:-char(字符) 长选项:--word(单词) 短选项可以合并:长选项一般不可以合并 有些选项需要有参数: 命令参数:命令的作用对象 有些命令可以带多个参数:各参数键需要使用空格分隔: 2.出现乱码的对策: # export LANG(语言)= en (导出环境变量) 3.获取命令的使用帮助: 1]内置命

16、自学——Linux的学习进度与任务【vim编辑器及文件测试】

vim编辑器及文件测试 vim编辑器 在Linux中,使用文本文件来保存配置文件 1.几种基本的模式: 编辑模式:键盘操作通常被解析为编辑命令: 输入模式:输入模式 末行模式:vim的内置的命令行接口,执行vim内置命令 2.模式之间的切换: 编辑模式-->输入模式(从编辑模式进入到输入模式) i:当前光标所在处输入内容 I: 在当前光标所在行的行首 a:在当前光标所在处的后面 A:在当前光标所在行的行尾输入 o:在光标所在行的下方新增一行空白行输入 O:在光标所在行的上方新增一行空白行输入 输

11、自学——Linux的学习进度与任务【文件系统文件权限】

文件系统文件权限 文件系统文件权限: 三类用户:  属主:owner, u  属组:group, g  其它:other, o  所有:All,a 权限: r: readable,可读 w: writable, 可写 x:excutable, 可执行 权限管理: 文件:  r:可以使用内容查看类的命令来显示其相关内容  w:可以使用编辑器修改其内容 x:可以将其发起一个进程 目录: r:可以使用ls命令查看目录内容的文件信息   w:可以创建.删除文件   x:可以使用ls -l 命令查看目录内

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

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

10、自学——Linux的学习进度与任务【用户和用户组相关操作】

用户和用户组相关操作 用户和用户组定义: 用户:资源获取标识符(资源分配),是安全权限模型的可信要素之一 用户组:用户组是指多个用户的集合,方便对一类需要同样权限的用户授权   密码:用户认证  Linux是多用户.多任务的操作系统.  多用户指:多人同时使用系统资源:多任务:同时运行多个进程 用户和用户组的类别: 1.用户:名称解析库 /etc/passwd a.管理员 root 用户标识(UID)为0 b.普通用户及系统用户  普通用户的用户标识(既UID):   CentOS 5,6: 5

14、自学——Linux的学习进度与任务【正则表达式】

正则表达式 文本处理工具之grep.egrep和fgrep 1.基本正则表达式 grep:(global search regular expression(RE)and print out the line) 文本搜索工具,根据用户指定的文本模式对目标文件进行逐行搜索,并显示匹配的行 # grep [options] 'PATTERF(模式)' file,默认只支持基本正则表达式,要匹配额外功能的字符用-E --color=auto 指定颜色 -v:反向匹配,显示不能被模式匹配到的行 -o:仅

13、自学——Linux的学习进度与任务【位置参数、交互式脚本】

位置参数.交互式脚本 知识点1: bash的单步执行(显示整个执行过程): bash -x /path/to/script(脚本) 知识点2: 位置参数:  /tmp/test.sh(脚本自身) 3(脚本的第一个参数) $0:脚本自身 $1:脚本的第一个参数 $2: .... 特殊变量:  $#:显示所有位置参数的个数  $*,[email protected]:显示引用所有的位置参数 知识点3: 交互式脚本: read 变量:给定变量数值,可以为空 read -p :提示信息 给变量以默认值:

12、自学——Linux的学习进度与任务【bash的配置文件】

bash的配置文件 bash的配置文件: 持久保存用户配置 profile类:为交互式登录的用户提供配置 /etc/profile 全局 /etc/profile.d/*.sh 全局 ~/.bash_profile 个人配置,仅对当前用户有效 功能: 设定环境变量 用来实现运行命令或者脚本 如何读取配置文件: /etc/profile -->/etc/profile.d/*.sh -->~/.bash_profile-->~/.bashrc -->/etc/bashrc bashr