Kerberos认证原理 协程 Jmeter Java开发手册 双重检验锁 iic makefile qt pip stl grunt vue响应式 vue网页 vue的优点 java设计模式视频 jquery第一个子元素 java数据分析 pr序列设置哪个好 oracle取第一条数据 mysql增删改查语句 bootstrap居中对齐 python的range python环境安装教程 python的安装 python开发界面 java语法基础 java在线课程 java的instanceof java时间类型 java版本查看 javalist数组 linux镜像安装 php实例 街头篮球辅助 一键换系统 stl2stp ad下载 8元秒电脑 战斗的召唤 流水账软件
当前位置: 首页 > 学习教程  > 编程语言

shell脚本的追踪与排错

2020/12/28 19:30:00 文章标签:

shell脚本的排错及问题判断 文章目录shell脚本的排错及问题判断脚本排错及问题判断1.语法查询2.执行过程查看3.也可用两个选项sh -vx 脚本文件4.命令模式下输入 :set nu 回车查看行号脚本排错及问题判断 [rootlocalhost ~]#sh [-nvx] 脚本文件 选项与参数∶ -n:不…

shell脚本的排错及问题判断

文章目录

  • shell脚本的排错及问题判断
    • 脚本排错及问题判断
      • 1.语法查询
      • 2.执行过程查看
      • 3.也可用两个选项sh -vx 脚本文件
      • 4.命令模式下输入 :set nu 回车查看行号

脚本排错及问题判断

[root@localhost ~]#sh [-nvx] 脚本文件

选项与参数∶

-n:不执行脚本,仅查询语法的问题;

-v:在执行脚本前,先将脚本的内容输出到屏幕上;

-x:将使用到的脚本内容(执行过程)显示到屏幕上

1.语法查询

从1到100的整数和的脚本文件

#!/bin/bash
sum=0
i=0
while [ ${i} -ne 100 ]
do
i=$[$i+1]
sum=$[$sum+$i]
done
echo "运算结果是:$sum"

下面我故意把最后的引号改成中文符号,验证一下

在这里插入图片描述

且返回值为非0

[root@localhost ~]#sh -n sum1.sh 
sum1.sh:行9: 寻找匹配的 `"' 是遇到了未预期的文件结束符
sum1.sh:行10: 语法错误: 未预期的文件结尾
[root@localhost ~]#echo $?
2

然后我们再更正字符,再次测试脚本有无语法问题

在这里插入图片描述

2.执行过程查看

例2:

从1到用户输入值的累加整数和,利用sh -x 脚本文件 来查看执行过程

  • 其脚本文件为
#!/bin/bash
read -p "请输入整数值(1-100):" nu
sum=0
i=0
while [ ${i} -ne ${nu} ]
do
i=$[$i+1]
sum=$[sum+i]
done
echo "从1到${nu}的运算结果是:$sum"

  • 查看执行过程

在这里插入图片描述

3.也可用两个选项sh -vx 脚本文件

来查看脚本文件内容的同时,查看脚本的执行过程,思路会更明朗!

这里我用一个函数脚本来验证,如下

#!/bin/bash   #所用shell
function db1 {    #db1是函数名
   read -p "请输入:" value #value是变量名
   return $[$value * 2]   #返回值取所输入的变量名的值和2的乘积的结果值
}
db1   #调用函数
echo $?  #输出返回值(输出上个命令执行结果的返回值)

在这里插入图片描述

4.命令模式下输入 :set nu 回车查看行号

当脚本行数特别多时虽然指定了哪行出错,但有时人眼根本数不过来,就需要命令模式下输入英文字符冒号“:”进入末行模式,然后输入set nu命令回车列出脚本内容对应的行数

在这里插入图片描述


本文链接: http://www.dtmao.cc/news_show_550261.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?