zoukankan      html  css  js  c++  java
  • testerhome学习笔记3_Bash应用一

    逻辑控制

    1. if结构:if [ condition ] ; then ...; else...; elif...; fi.     ( fi做为结尾)

       简单的if逻辑可以用&& ||去代替:a&&b||c;    &&前面的命令执行成功为真,才会执行&&后面的命令,||前面的命令执行失败,为假,才会执行||后面的命令 , 例如:echo "1"&&echo "2"||echo "3"&&echo "4"||echo "5"||echo "6"&&echo "7"&&echo "8"||echo "9"

     

     2.For循环:for((c1;c2;c3));do....;done

      

      

     for的遍历循环:for x in ${array[@]};do...;done

     

     3.while循环:while read line;do echo $line;done < file;(<是输入重定向;>是输出重定向;read是个读入键盘的命令)

     

     

    4.退出控制:

       break:退出当前循环,默认为1

       break 2:退出两层循环

       contiune:跳出当前循环,进入下一次循环

       contiune 2: 跳出上层循环的下一次循环中

       return:函数返回

       exit:脚本退出 

     

     

    Bash运行环境

     1.shell运行环境

        bash是一个进程,bash下还可以再重新启动一个shell,这个shell是sub shell,原shell会复制自身给他

        在sub shell 中定义的变量,会随着sub shell 的消亡而消失

     

      ()是在子sehll中运行的,()中内容执行完毕后,子shell消亡

     

     {}是在当前shell中运行的

    &&当前脚本执行的pid

    &后台执行

     

    &!运行在后台的最后一个作业的PID

     

    jobs:查看进程状态

     

    ctrl +z:暂停程序执行 

    bg 1:继续执行暂停执行的程序1

    fg 1:j将暂行的后台程序放到前台继续执行

     

     2.shell环境变量

    修改profile文件(如果不能修改需要chmdo 777 profile),添加export PATH=$PATH:/home/liyuanyuan/test/....

    保存退出

    生效文件:source /etc/profile

    set:可以获得当前所有变量

    3.shell输入输出

    a.read用来读取输入,并赋值给变量

    b.echo, printf可以简单暑促变量

    c.echo "hello to testerhome">file,将输出重定向到文件file,等价于tee.     >重定向会覆盖掉原来文件的所有内容

    d.echo "from liyuanyuan">>file, 表示追加, 等价于tee -a

     

    f. <file输入重定向

    g. |表示管道,也就是前一个命令传入下一个名的输入

    h. grep

     grep -i :忽略大小写进行匹配

     grep -o:只显示匹配到的内容

     

    grep -o "c.":显示匹配到内容后面一个字符

     grep -o "c.*":显示匹配到内容后面任意字符

     

    PS:

    1.创建脚本的命令:touch hello.sh

    2.搜索输入过的命令:ctrl+r

    3.查看所有输入过的命令:history

    4.跳转到指令的结尾:ctrl +e,跳转到指令的开头:ctrl +a

    5.ctrl +c中断程序

    6.read -p "enter":-p为显示提示语“enter”

    7.echo *:默认打印当前目录所有文件 

    8.echo $$:显示当前进程号

    9.ps -ef:显示所有进程的全格式

      ps -e:显示全部进程

  • 相关阅读:
    lvs三种模式的优缺点对比
    linux下的$0-n作用
    图解 HTTP 笔记(一)——了解 Web 及网络基础
    从源码学习使用 node-delegates
    从源码看 Vue 中的 Mixin
    常见 Web 性能优化方式
    解密虚拟 DOM——snabbdom 核心源码解读
    浅谈 JSONP
    代码覆盖率测试及 GitHub 自动化集成
    Redis 学习笔记
  • 原文地址:https://www.cnblogs.com/viviian/p/10110089.html
Copyright © 2011-2022 走看看