zoukankan      html  css  js  c++  java
  • shell讲解-小案例

    shell讲解-小案例

    一、文件拷贝输出检查

    下面测试文件拷贝是否正常,如果cp命令并没有拷贝文件myfile到myfile.bak,则打印错误信息。注意错误信息中basename $0打印脚本名。如果脚本错误退出,一个好习惯是显示脚本名并将之定向到标准错误中。用户应该知道产生错误的脚本名。

     

    [root@localhost ~]# cat ifcp.sh 
    #!/bin/sh
    # ifcp.sh
    if cp myfile myfile.bak; then
                    echo "good copy"
    else
                    echo "`basename $0`: error could not copy the file" >&2
    fi
    [root@localhost ~]# ./ifcp.sh 
    cp: cannot stat `myfile': No such file or directory
    ifcp.sh: error could not copy the file

     

    [root@localhost ~]# cat ifcp.sh 
    #!/bin/sh
    # ifcp.sh
    if cp myfile myfile.bak > /dev/null 2>&1; then
                    echo "good copy"
    else
                    echo "`basename $0`: error could not copy the file" >&2
    fi
    [root@localhost ~]# ./ifcp.sh 
    ifcp.sh: error could not copy the file

    上面当中>/dev/null表示任何标准输出都定向到那个无尽的“黑洞”/de/null中,然后2>&1表示错误输出也是到/dev/null中,&1表示前面的那个/dev/null,脚本运行时,所有输出包括错误重定向至系统垃圾堆。

    二、五颜六色的脚本

    #!/bin/bash
     
    clear
    echo -e "33[1m Hello World"
     # bold effect
    echo -e "33[5m Blink"
           # blink effect
    echo -e "33[0m Hello World"
     # back to noraml
     
    echo -e "33[31m Hello World"
     # Red color
    echo -e "33[32m Hello World"
     # Green color
    echo -e "33[33m Hello World"
     # See remaing on screen
    echo -e "33[34m Hello World"
    echo -e "33[35m Hello World"
    echo -e "33[36m Hello World"
     
    echo -e -n "33[0m"
      # back to noraml
    echo -e "33[41m Hello World"
    echo -e "33[42m Hello World"
    echo -e "33[43m Hello World"
    echo -e "33[44m Hello World"
    echo -e "33[45m Hello World"
    echo -e "33[46m Hello World"
     
    echo -e "33[0m Hello World"

     

  • 相关阅读:
    [COM/ATL]组件、对象、MFC、ATL的区别
    中国还是和AMD走到一起了 但美国会高兴吗(网易科技 卢鑫)
    趋势安全云
    统计应收与实收,有发票和商品两种方法,各有优缺点
    雷军:风口论一直被误读 我不是机会主义者
    Jira 6.0.5环境搭建
    逻辑推理能力
    交换变量值的5种方法
    .net下简单快捷的数值高低位切换
    easyui tree 的数据格式转换
  • 原文地址:https://www.cnblogs.com/liuyansheng/p/6180303.html
Copyright © 2011-2022 走看看