zoukankan      html  css  js  c++  java
  • shell笔记

    shell调试技巧: #使用
    [root@game ~]# sh [-xvn] test.sh

    #参数解释:
    -x:将执行的脚本内容输出出来,可以看到执行的过程
    -n:不执行脚本,检查脚本语法是否有问题,给出错误的提示
    -v:执行脚本时,先将脚本的内容输出到屏幕上,再执行脚本,如果有错误给出错误提示

    使用-n参数进行语法检查: sh -n test7.sh   #脚本没有语法错误,所以没有输出

    -v参数:打印错误: sh -v test1.sh  

    -x参数:打印执行过程: sh -x test1.sh 

    2.使用set命令调试

    #常用选项
    set -n :读命令但并不执行
    set -v : 显示读取的所有行
    set -x : 显示所有命令及其参数

    使用set -x可以缩小调试的作用域范围
    set -x开启调试功能,set +x关闭调试功能

    #示例
    #!/bin/bash
    set -x
    for i in `seq 9`
    do
    for n in `seq 9`
    do
    [ $i -ge $n ] && echo -en "$i x $n" = $(expr $i * $n)
    done
    set +x
    echo " "
    done

    #执行效果
    [root@game scripts]# sh test6.sh
    ++ seq 9
    + for i in '`seq 9`'
    ++ seq 9
    + for n in '`seq 9`'
    + '[' 1 -ge 1 ']'
    ++ expr 1 '*' 1
    + echo -en '1 x 1' = 1
    1 x 1 = 1+ for n in '`seq 9`'
    + '[' 1 -ge 2 ']'
    .....
    + for n in '`seq 9`'
    + '[' 1 -ge 9 ']'
    + set +x
    #提示:只调试了set -x 和set +x 这个作用域

  • 相关阅读:
    分治
    #include<algorithm>
    c++标准模板库的使用
    mysql_day03
    mysql_day02
    mysql_day01
    mongodb的安装
    迭代器和生成器简单介绍
    File文件操作
    数据类型
  • 原文地址:https://www.cnblogs.com/andydao/p/13822346.html
Copyright © 2011-2022 走看看