Linux学习笔记----初识Linux----shell编程

shell脚本编程基础

  1. 变量的定义:
    直接定义 str=hello //等号两端不能有空格
    双引号定义 str=“hello”//保留特殊字符的含义
    单引号定义 str = ‘hello’ //去除特殊字符的含义

  2. 变量的引用
    小飘号定义str=date 或则 str=$(date)
    echo hello >1.txt 输出重定向(覆盖原内容)
    echo world >>1.txt 输出重定向(不覆盖原内容,追加)

  3. 特殊变量
    $0 命令本身
    $1 2.... 2 .... 2....n //取命令行参数
    $@//取所有的参数
    $? //判断上一条命令是否执行成功,成功打印0 失败打印非0
    $#//传递参数的个数
    显示当前的进程号

  4. 环境变量
    env //显示所有环境变量
    HOSTNAME:当前主机名
    SHELL:shell类型
    QTDIR:qt安装路径
    USER:当前用户
    PATH:指定当前命令寻找路径

export LD_LIBRARY_PATH=./:$LD_LIBRARY_PATH(设置动态库路径,这样就不用将动态库复制到usr/lib里了 LD_LIBRARY_PATH: 动态库的查找路径)

  1. 输入输出:read num//输入num
    echo命令printf//输出

  2. 计算表达式的四种方法
    var= $ ((1+2))
    var=$ 4[1+2]
    let var=1+2
    var=$(expr 1 + 2)

  3. test 条件表达式
    test 表达式1 = 表达式2 等号两边须有空格
    test string1 = string2
    [条件表达式] [ string1 = string2 ]
    条件表达式值为真返回0,为假返回非0
    echo $? 非0为假,0为真

  4. 判断整数
    -gt:大于
    -ge:大于等于
    -eq:等于
    -le:小于等于
    -lt:小于
    -ne:不等于
    -a:两个条件都有满足 and
    -o:满足一个条件即可 or

  5. 字符串比较
    [[ -z str ]] //长度为0 返回0
    [[ str1 == str2 ]]//判断是否相等
    [[ str1 != str2 ]]

  6. 文件条件测试
    Linux学习笔记----初识Linux----shell编程_第1张图片

  7. if then else
    Linux学习笔记----初识Linux----shell编程_第2张图片

  8. case语句
    Linux学习笔记----初识Linux----shell编程_第3张图片

  9. for语句
    Linux学习笔记----初识Linux----shell编程_第4张图片Linux学习笔记----初识Linux----shell编程_第5张图片

  10. while语句
    Linux学习笔记----初识Linux----shell编程_第6张图片

  11. until语句
    Linux学习笔记----初识Linux----shell编程_第7张图片

  12. break continue
    Linux学习笔记----初识Linux----shell编程_第8张图片

  13. 数组&函数

  • 数组
    定义 1: a=(1 2 3 4 5)下标从 0 开始 各个数据之间用空格隔开
    定义 2: a[0]=1;a[1]=2;a[2]=3
    定义 3: a=([1]=1 [2]=2)
    引用
    取值: ${a[0]}
    ${a[@]} //取数组中所有的值
    ${#a[@]} //取数组的长度
    ${a[@]:2} //截取下标为2以后的所有元素
    ${a[@]:2:2} //截取下标为2以后的2个元素

  • 函数
    调用的时候直接写函数名即可
    无返回值 无参数 仅仅用来封装代码
    function_name()
    {}

你可能感兴趣的:(shell编程基础)