SHELL基础

  • 什么是shell
    • shell是一个用C语言编写的程序,用户使用Linux的桥梁。shell既是有一种命令语言,又是一种设计语言。
    • shell是一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统
    • 什么是脚本
      • 脚本简单的说是一条条的文本命令,这些文字命令是可以看到的。
      • 常见的脚本:js,vbscript,asp,jsp,phpshell,perl,python
    • 为什么要学习和使用shell
      • shell属于内置的脚本——语法简单易学
    • 常见的shell的种类
      • 重点:bash:/bin/bash
      • Cshell:使用类C语法进行编写
      • Kshell:内部命令较少
      • tcshell:cshell的增强版
      • zshell:更庞大更复杂
  • shell入门
    • 编码规范:
      • 代码规范
        • #!/bin/bash
        • shell相关指令
      • 文件命名规范
        • 文件名.sh
      • hello World
        • echo ’hello world‘
      • 执行脚本
        • 需要给出路径位置,搜则默认去环境变量中找
        • 例:./test.sh
      • 执行脚本的另一种方式
        • /bin/bash 脚本路径
  • shell进阶
    • 1.变量
      • 变量的含义——会发生改变的数据
        • 定义变量:变量名=值
        • 引用:$变量名
        • 案例:class=“yunwei”;echo $class;
      • 命名规范
        • 注:变量名赋值时等号前后不能有空格
        • 命名只能使用数字、字母和_,不能以数字开头
        • 不可以使用bash的保留字作为变量
      • 单双引号:
        • 单引号:不能识别变量和转义符,把里面的内容原样输出
        • 双引号:能识别变量和转义符
        • 反引号:能够识别引号内的命令
      • 只读变量(相当于常量)
        • readonly 变量名
        • 在修改只读变量时会发出提示。
      • 接收用户输入(重点)
        • 语法:read -p “提示信息” 接受数据的变量名

        • 在shell脚本执行过程中,脚本中的一些数据可以是在脚本和用户交互的过程中,由用户提供的。
      • 删除变量
        • unset 变量名

      • 条件判断语句
        • 语法1:(一个条件)

        • 语法2:(两个条件)

        • 语法3:(多个条件)

      • 运算符
        • 算术运算符

          • !=:不相等
          • 乘号在Linux中是通配符,所以需要用“\”进行转义
          • 额外:echo同时并列输出多个变量是可以不添加连接符
          • 注:if语句的条件表达式放在方括号之间,并且要用空格隔开 ,并且在进行表达式计算时要使用expr

        • 关系运算符
          • 相等 -eq(equals):两数相等为真不等为假
          • 不等 -ne(no equals):两数相等为假,不等为真
          • 大于 -gt
          • 小于 -lt
          • 大于等于 -ge
          • 小于等于 -le
          • 案例:

        • 逻辑运算符
          • 与(-a):全为真才是真
          • 或(-o):有一个真就是真
          • 非(!):非假则为真
          • 案例:

        • 字符串运算符
          • =:检测字符串是否相等,相等为真
          • !=:检测字符串是否不等,不等为真
          • -Z:检测字符串长度是否为0,为0 则为真
          • -n:检测字符串的长度是否为0 ,不为0则为真
          • str:检测字符串是否为空,空返回假,非空则返回真
            • 实例:[ $a ],a有值为真,无值为假
          • 案例:

          • 实验:双等号和-eq比较字符串是否相等(双等可以,-eq会提示输入数字并输出flase)

        • 文件测试运算符(重点)
          • 文件测试元素安抚用于检测Unix、Linux文件的各种属性。
            • -b file:检测文件是否为块设备文件,是为TRUE
            • -d file:检测文件是否为目录,是为TRUE
            • -f file:检测文件是否为普通文件,是为TRUE
            • -r file:检测文件是否为可读文件,是为TRUE
            • -w file:检测文件是否为可写文件,是为TRUE
            • -x file:检测文件是否为可执行文件,是为TRUE
            • -e file:检测文件是否存在,是为TRUE
            • -s file:检测文件是否为空,是为TRUE
    • shell脚本附带选项(重点)
      • Linux shell如何处理tail -10 access.log
        • 步骤 :调用tail指令——》系统把后续选项传递给tail——》tail先去打开指定的文件——》取出最后10行
        • 问题:自己写的shell是否也可以像内置命令一样传递一些选项呢?
          • 可以,传递方式与上述的描述是一样的,关键是怎么接收
          • 案例:
            • 传递:./test.sh a b c
            • 接收:在脚本中可以用“$1”来表示a,以此类推。

            • 接收可以用“$”加上选项对应的序号即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值