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

2023-12-05 0 240
目录
  • 1. 简述
    • 1.1 -n
    • 1.2 -v
    • 1.3 -x
    • 1.4 -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内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!

您可能感兴趣的文章:

  • 详解shell脚本[] [[]] -n -z 的含义解析
  • shell中set设置-e和-x的用法
  • 一天一个shell命令 linux文件内容操作系列-cat命令详解
  • 一天一个shell命令 linux文本内容操作系列-awk命令详解
  • 一天一个shell命令 linux文本内容操作系列-sed命令详解
  • 一天一个shell命令 linux文本内容操作系列-cut命令详解

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 linux shell Shell脚本调试 -n -v -x -c的具体用法 https://www.u-9.cn/jiaoben/linuxshell/101684.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务