zoukankan      html  css  js  c++  java
  • shell编程之helloworld

    /bin/sh与/bin/bash的区别
    sh:如果前面有语句报错,则报错语句后面的命令不执行
    bash:如果前面有语句报错,后面的命令也会执行
    sh跟bash的区别,实际上就是bash有没有开启posix模式的区别(遵循posix的特定规范,有可能就包括这样的规范:“当某行代码出错时,不继续往下解释”)

    脚本第一句:
    #!/bin/sh 等同于 #!/bin/bash --posix

    第一个shell脚本
    #!/bin/bash
    #author wangxiangyu
    # 2017-05-29
    echo 'wangxiangyu, yuanyuan and lovely susu are a happy family'

    注意:
    #!/bin/bash 表示使用bash版本的shell脚本,固定格式
    echo 输出语句
    如果在Windows系统环境下编写shell脚本,会报“/bin/sh^M: bad interpreter: No such file or directory”异常,原因是两种系统有些字符(比如回车符)不一样,Linux识别不了造成的,可以使用:dos2unix hello.sh命令转换格式

    系统可能没有安装这个命令的包,可以手动安装,使用命令:yum -y install dos2unix

    脚本执行方式
    1、赋予执行权限,直接运行
    chmod 755 hello.sh
    ./hello.sh(相对路径) 或 /test/hello.sh(绝对路径)
    2、通过bash调用执行脚本
    bash hello.sh

    输出重定向

    标准输出重定向
    命令>文件 以覆盖的方式把命令的正确输出写到指定的文件或设备中
    命令>>文件 以追加的方式把命令的正确输出写到指定的文件或设备中
    标准错误输出重定向
    错误命令 2> 文件 以覆盖的方式把命令的错误输出写到指定的文件或设备中,2和>之间不能有空格
    错误命令 2>>文件 以追加的方式把命令的错误输出写到指定的文件或设备中
    正确输出和错误输出同时保存
    命令>文件 2>&1 或 命令&>文件 以覆盖的方式,把正确输出和错误输出都保存到同一个文件中
    命令>>文件 2>&1 或 命令&>>文件 以追加的方式,把正确输出和错误输出都保存到同一个文件中
    命令>>文件一 2>>文件二 把正确的输出追加到文件1中,把错误的输出追加到文件2中
    注:如果文件不存在,则会在当前目录下创建

    输入重定向

    wc -c 统计字节数 -w 统计单词数 -l 统计行数

    多命令顺序执行与管道符

    ; 命令1;命令2 多个命令顺序执行,命令之间没有任何逻辑联系
    && 命令1&&命令2 逻辑与,当命令1正确执行,则命令2才会执行;当命令1执行不正确,则命令2不会执行
    || 命令1||命令2 逻辑或,当命令1执行不正确,则命令2才会执行;当命令1正确执行,则命令2不会执行
    | 命令1|命令2 管道符,命令1的正确输出作为命令2的操作对象
    命令 && echo yes || echo no 命令执行成功则打印yes,命令执行失败则打印no

    dd if=输入文件 of=输出文件 bs=字节数 count=个数
    if=输入文件 指定源文件或源设备
    of=输出文件 指定目标文件或目标设备
    bs=字节数 指定一次输入/输出多少字节,即把这些字节看做一个数据块
    count=个数 指定输入/输出多少个数据块
    date; dd if=/dev/zero of=/root/testfile bs=1k count=102400;date 即创建一个100M的文件testfile需要多少时间

    netstat -an | grep ESTABLISHED 查看当前系统中所有正在连接的网络

    通配符

    ? 匹配一个任意字符
    * 匹配0个或任意多个任意字符,也就是可以匹配任何内容
    [] 匹配中括号中任意一个字符。例如:[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c
    [-] 匹配中括号中任意一个字符,-代表一个范围。例如:[a-z]代表匹配一个小写字母
    [^] 逻辑非,表示匹配不是中括号内的一个字符,例如:[^0-9]代表匹配一个不是数字的字符

    变量

    会计

  • 相关阅读:
    BGP community和联邦实验
    BGP RR的设计原则
    BGP不可比较的AS间的度量问题的解决办法
    BGP理解错误的部署RR造成的环路
    BGP数据结构表
    BGP RR的环路避免机制
    BGP Lab RR & Loop (1)
    Lab BGP Summary
    70、对象复用的了解,零拷贝的了解
    66、malloc、realloc、calloc的区别
  • 原文地址:https://www.cnblogs.com/xyhero/p/9343645.html
Copyright © 2011-2022 走看看