Shell

作者: yzw12138 | 来源:发表于2018-05-11 15:28 被阅读0次
    • 创建一个以sh为扩展名的文件,在其中写入shell脚本,并赋予文件可执行权限,然后运行脚本


      image.png

    变量

    • 1.在Bash shell中每一个变量都是一个字符串,无论是否为变量赋的值添加引号,还是赋一个数字,都会转化为字符串,出非用declare定义变量类型;
    • 2.将命令运行的结果赋值给一个变量:val=commond 或者 val=$(commond);
      image.png
    • 3.特殊变量
      $0 当前脚本的名字;

    $n 传递给脚本的参数,n代表第n个参数;

    $# 传递给脚本参数的个数;

    *@ 传递给脚本的所有参数;

    $? 上个命令的退出状态或函数的返回值;

    $$ 当前执行shell的id;

    表达式

    • 1.for循环
    //for i in {0..9} 等于for i in {0..9..1} , 第三个参数为跨步
    for i in {0..9}
    do
    echo $i
    i=$i+1
    done
    
    for ((i=0;i<10;i++))  
    do  
      ...  
    Done
    
    • 2.while循环
    
    while 测试条件  
    do  
    循环体  
    done 
    
    image.png
    • 3.if判断
    if condition1
    then
        command1
    elif condition2 
    then 
        command2
    else
        commandN
    fi
    
    image.png
    • 4.case条件


      image.png
    • 5.整数比较大小

    -gt:大于
    -lt:小于
    -ge:大于等于
    -le:小于等于
    -eq:等于
    -ne:不等于

    • 6.算数运算


      image.png
    • 7.逻辑运算符

    -a 与
    -o 或
    ! 非

    • 8.自定义函数
      函数的返回值可以显示的增加return,如果不加会将字后一条命令的结果作为返回值.函数的返回值只能是整数,用来表示函数调用成功与否,如果返回的是一个字符串会报错.可以通过ret=$?的形式来接收函数的返回值.
      在a.sh中定义func()函数
      image.png
      在b.sh中引用该函数
      image.png
    • 9.read:将键盘输入的数据存储到给定的参数中


      image.png
    • 10.字符串操作
      截取指定个数字符


      image.png
    • 11.大小写转换


      image.png

    输入输出重定向

    • 1.输出重定向
      通过commond > file来实现
      新建一个test.txt文件,将命令的执行结果写入到文件中.


      image.png

      第二次写入时如果还用">"会覆盖掉之前的内容,如果不想之前的内容被覆盖应该用">>".


      image.png
    • 2.命令默认从键盘输入,现在改为从文件输入.


      image.png

      通过catfile中的命令打开test并将结果写入到catfile中.

    相关文章

      网友评论

          本文标题:Shell

          本文链接:https://www.haomeiwen.com/subject/sqcwaxtx.html