Shell脚本调试 -n -v -x -c的具体用法

 更新时间:2023年06月21日 10:28:02   作者:Alan0517  
本文主要介绍了Shell脚本调试 -n -v -x -c的具体用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1. 简述

Shell脚本的语法调试,使用bash的相关参数进行调试

sh [参数] 文件名.sh

1.1 -n

不要执行script,仅查询语法

“-n” 可用于测试shell脚本是否存在语法错误,但不会实际执行命令。
常用于写完脚本之后,测试一下脚本是否能用从而避免直接使用带来的可能出现的问题

[root@Centos-root473791 ~]# sh -n whileD.sh 
[root@Centos-root473791 ~]# 

1.2 -v

在执行script之前,先将script的内容输出到屏幕上
在脚本执行完之前将脚本内容打印出来

[root@Centos-root473791 ~]# sh -v whileD.sh 
#! /bin/bash
s=0
i=1
while [ $i -le 100 ]
do
        s=$[$s+$i]
        i=$[$i+1]
done
echo $s
5050
[root@Centos-root473791 ~]# 

1.3 -x

将使用的脚本的内容输出到屏幕,该参数经常被使用
跟踪脚本执行,并显示出来

“-x"选项可用来跟踪脚本的执行,是调试shell脚本的强有力工具。”-x"选项使shell在执行脚本的过程中把它实际执行的每一个命令行显示出来,并且在行首显示一个"+"号。 "+"号后面显示的是经过了变量替换之后的命令行的内容,有助于分析实际执行的是什么命令。 "-x"选项使用起来简单方便,可以轻松对付大多数的shell调试任务,应把其当作首选的调试手段。

  • 前面有“+”号的行是shell脚本实际执行的命令,
  • 前面有“++”号的行是执行trap机制中指定的命令,
  • 其它的行则是输出信息。
[root@Centos-root473791 ~]# cat whileD.sh 
#! /bin/bash
s=0
i=1
while [ $i -le 100 ]
do
        s=$[$s+$i]
        i=$[$i+1]
done
echo $s
echo "执行完成"
[root@Centos-root473791 ~]# sh -x whileD.sh 
+ s=0
+ '[' 100 -le 100 ']'
+ s=5050
+ i=101
+ '[' 101 -le 100 ']'
+ echo 5050
5050
+ echo $'\346\211\247\350\241\214\345\256\214\346\210\220'
执行完成
[root@Centos-root473791 ~]# 

1.4 -c

-c “string” 从strings中读取命令

执行后面跟着的字符串包裹的命令集合

sh -c 'a=1;b=2;let c=$a+$b;echo "c=$c"'

到此这篇关于Shell脚本调试 -n -v -x -c的具体用法的文章就介绍到这了,更多相关Shell -n -v -x -c内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • awk中实现ord函数功能

    awk中实现ord函数功能

    这篇文章主要介绍了awk中实现ord函数功能,ord函数用来将字符转化对应的ascii码,本文给出awk中的ord函数实现方法,需要的朋友可以参考下
    2014-08-08
  • shell脚本实现公司项目部署交付环境预检查的思路

    shell脚本实现公司项目部署交付环境预检查的思路

    这篇文章主要介绍了shell脚本实现公司项目部署交付环境预检查的思路,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • shell基础学习中的字符串操作、for循环语句示例

    shell基础学习中的字符串操作、for循环语句示例

    这篇文章主要介绍了shell基础学习中的字符串操作、for循环语句示例
    2014-04-04
  • 一个Linux系统安全设置的Shell脚本的分享(适用CentOS)

    一个Linux系统安全设置的Shell脚本的分享(适用CentOS)

    这篇文章主要介绍了一个设置Linux系统安全的Shell脚本的分享,适用CentOS,包含大部份的安全设置,只需执行脚本就可以得到一个相对安全的Linux系统了,需要的朋友可以参考下
    2014-06-06
  • Shell之function函数的定义及调用示例

    Shell之function函数的定义及调用示例

    本文主要介绍了Shell之function函数的定义及调用示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • shell结合expect写的批量scp脚本工具

    shell结合expect写的批量scp脚本工具

    expect用于自动化地执行linux环境下的命令行交互任务,例如scp、ssh之类需要用户手动输入密码然后确认的任务。有了这个工具,定义在scp过程中可能遇到的情况,然后编写相应的处理语句,就可以自动地完成scp操作了
    2013-02-02
  • 提高你工作效率的shell命令总结大全

    提高你工作效率的shell命令总结大全

    脚本语言可以减少很多手动的操作,作为一个Linux程序员都应该了解简单的脚本编写来代替手动的操作,下面这篇文章主要给大家总结分享了一些提高你工作效率的shell命令,文中给出了详细的示例代码供大家参考学习,需要的朋友们下面来一起看看吧。
    2017-07-07
  • Shell过滤器的具体使用

    Shell过滤器的具体使用

    这篇文章主要介绍了Shell过滤器的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Linux nc命令使用示例

    Linux nc命令使用示例

    nc是netcat的简写,是一个功能强大的网络工具,有着网络界的瑞士军刀美誉,nc命令在linux系统中实际命令是ncat,nc是软连接到ncat,这篇文章主要介绍了Linux nc命令使用示例,需要的朋友可以参考下
    2023-03-03
  • Linux中根据一个单词快速锁定到日志的操作命令

    Linux中根据一个单词快速锁定到日志的操作命令

    这篇文章给大家介绍了Linux中如何根据一个单词快速锁定到日志,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-01-01

最新评论