• 【shell】shell基础脚本合集


    1.向脚本传递参数

    #!/bin/bash
    #功能:打印文件名与输入参数
    #作者:OLIVER
    
    echo $0 #打印文件名
    echo $1 #打印输入参数
    

    执行结果:

     image

    2.在脚本中使用参数

    #!/bin/bash
    #功能:输入参数的使用
    #作者:OLIVER
    
    cp $1 $2 #根据输入参数复制文件到指定位置

    执行结果:

    image

    3.函数的使用

    #!/bin/bash
    #功能:函数的使用
    #作者:OLIVER
    
    run(){
    echo "Hell world"
    }
    run
    

    运行结果:

    image

    4.连接两个字符串

    #!/bin/bash
    #功能:字符串连接
    #作者:OLIVER
    
    var1="My name is :"
    var2="Tom"
    var=${var1}${var2}
    echo $var

    image

    5.两个整数相加

    #!/bin/bash
    #功能:两个整数相加
    #作者:OLIVER
    
    a=3
    b=4
    let sum=$a+$b
    echo "The sum is :$sum"
    

    image

    除了上述方法还有其他的方法:a=1 b=2

    echo $((a+b)) #方法2

    echo $[ $a+$b ] #方法3

    expr $a + $b #方法4

    echo $a+$b|bc #方法5

    awk 'BEGIN{print '"$a"'+'"$b"'}' #方法6


    6.检查文件系统中是否存在某个文件

    声明:文件夹/qinys/oliver下存在文件a.txt

    #!/bin/bash
    #功能:判断文件是否存在
    #作者:OLIVER
    if [ -f /qinys/oliver/a.txt ];then
    echo "File exists"
    else
     echo "File not exists"
     fi

    运行结果:

    image

    7.shell脚本中的三种循环语法

    #!/bin/bash
    #功能:三种循环
    #作者:OLIVER
    
    #for循环
    for((i=0;i<=5;i++));
    do
    echo "for循环第$i次"
    done
    
    echo "===================="
    #while循环
    count=1
    while [ $count -lt 5 ];
    do
    echo "while循环第$count次"
    let count++
    done
    
    echo "===================="
    #until循环
    cnt=1
    until [ $cnt -gt 5 ];
    do
    echo "until循环第$cnt次"
    let cnt++
    done

    image

    8.读取文件的第5行

    head -5 filename | tail -1

    9.使用echo截取字符串的一部分

    语法:

    echo ${var:x:y}

    x: 起始位置(不包含)

    y:截取长度

    例子:

    Linux:/qinys/oliver # str="My name is OLIVER"&&echo ${str:3:4}
    name

    10.echo ${str:-2}与echo ${str: -2}的区别

    假如:str=abcd

    echo ${str:-2}:表示当str为空的时候,则赋予值-2

    echo ${str: -2}:表示截取str的后两位

    11.echo命令替换字符串的一部分

    echo ${variable//pattern/replacement}

    12.去除字符串中的空格

    Linux:/qinys/oliver # echo "a c djk"|tr -d " "
    acdjk

    13.输出0到20之间5的倍数

    Linux:/qinys/oliver # for (( i=0; i<=20; i=i+5 )); do echo "Welcome $i times"; done
    Welcome 0 times
    Welcome 5 times
    Welcome 10 times
    Welcome 15 times
    Welcome 20 times


  • 相关阅读:
    析构函数中的virtual是否必要?
    程序员必看的书
    UML类图几种关系的总结
    VS 2008的64位编译环境的安装和使用
    VB获取CAD属性值
    30分钟LINQ教程
    ADO.NET
    C#编写Windows服务程序图文教程
    Json的序列化与反序列化以及乱入的k_BackingField
    C#中的委托(Delegate)和事件(Event)
  • 原文地址:https://www.cnblogs.com/OliverQin/p/10287731.html
Copyright © 2020-2023  润新知