qfxx第5周5

今天上午讲的东西好赶啊,不过还算一般(shell编程的部分)
说实话,就我自己的学习经历来说,shell的语法真的很奇怪,尤其是各种循环啥的,括号都不是成对出现,大于等于小于和逻辑符号就是不干脆的用><= && || ! 偏偏就是要搞出不一样的…真是难搞.
以下是做的笔记:
day05

  • shell 是一个用c语言编写的程序,他是用户使用linux的桥梁,shell 即是一个命令语言。也是程序涉及
    语言,是一种服务器语言,

  • shell脚本:是一种shell编写的脚本程序

  • shell解析器类型:

    • ash,csh,ksh,bash,等
    • 查看可用的shell:cat /etc/shells
    • 查看当前的shell:echo $SHELL
  • shell脚本

    • 指定shell解释器执行当前的shell脚本
      • 创建一个1.sh文件,添加内容echo “hello shell”
      • 执行bash 1.sh, 脚本的权限不需要可执行的权限
  • 自解析的shell脚本

    • 创建一个2.sh,在开头加#! /bin/bash/,后面写shell的内容
    • 执行的时候会出现权限不够,chmod 0777 2.sh|chmod 0755 2.sh|chmod +x 2.sh
    • 执行./2.sh

变量的定义

  • 变量的定义:name=“xxxx”,= 两边不能有空格,
  • 打印变量:echo name或者echo {name}
  • 销毁变量:unset name,销毁以后,变量就不会再使用了
  • 定义常量:readonly pi=3.14,修改常量会报错

变量分类

  • 本地变量:只使用于本地当前脚本的变量

  • 环境变量:(重点)通常整个系统都都可以使用的变量叫环境变量,一般都是大写的

    • 查看系统的环境变量:env
    • 查看指定的环境变量:echo $PATH
    • 想要让一个脚本在哪里都可以执行,一般将脚本所在的目录,放到PATH
      • 临时:export PATH=$PATH:当前脚本脚本路径
      • 永久:
        • 系统:/etc/profile
        • 用户:在家目录下面,有一个.bashrc隐藏文件,
        • vim .bashrc 将 export PATH=$PATH:当前脚本脚本路径放在脚本的末尾即可
        • 让所有的文件都生效:source ~/.profile
  • 位置变量:

    • $0:表示脚本的名字
    • $1-9:表示传递给脚本的参数
    • $*:匹配到所有的参数
  • 特殊变量:

    • $#:传递给参数的个数
    • $?:上次执行命令的结果,0,代表成功, 错误会有对应的数字来表示

数值类型

  • 定义变量或者赋值,默认的都是普通的字符,即使你是数字或者运算符
  • 若想要进行运算的时候,前面需要加let
  • 示例:
    a=1
    let a=a+2
    echo $a

字符串类型

  • 单引号:字符都会保存原样,不会被解析
  • 双引号:其中的变量会被解析,特殊字符不会被解析($,“,\)
  • 反引号:其中的作为命令来执行
  • 长度的统计:echo ${#name}
  • 字符串的提取:echo ${name:2:3} 从下标为2的开始提取3个字符

数组类型

  • 定义:a=(1 2 3)
  • 成员访问:echo ${a[1]}
  • 所有成员:echo ${a[*]}
  • 个数统计:echo ${#a[@]}

各种运算

  • test:测试真假
    if test 1 -lt 2;then
    echo “ok”
    fi

    if [ 1 -lt 2 ];then
    	echo "true"
    fi
    

    符号 说明
    -lt 小于
    -le 小于等于
    -gt 大于
    -ge 大于等于
    -eq 等于
    -ne 不等于

  • 逻辑判断
    符号 说明
    -a 逻辑与(and),也可以使用两个&&来代替
    -o 逻辑或(or),也可以使用两个||来代替
    ! 逻辑非(not)

分支结构

循环结构

emm 那个文件没pull下来,过几天再弄吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值