matlab WebStorm printing null 河南省普通话考试官网 河南普通话 flink教程视频 mysql批量更新数据 matlab中如何定义函数 python语言 python开发界面 java中的抽象类 java编程学习入门 java日期类 java成员变量 java中接口的定义 蓝牙运动耳机排行榜 雪地求生 idea重命名快捷键 微信小程序源代码 kafka权威指南 pr放大画面 送货单管理系统 灰色按钮激活精灵 vs2008中文版下载 光标变粗 迅雷单机游戏下载 python编辑器 php验证码 租房管理软件 游戏补丁 未能创建视频预览 搜狐影音下载 决战者 cad删除多余的线 word怎么 方正小标宋gbk 苹果手机怎么卸载软件 启动nginx 查看端口号
当前位置: 首页 > 学习教程  > 编程语言

shell脚本的追踪与排错(脚本不会排错还要脚本有何用)

2020/12/28 19:31:14 文章标签:

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_550283.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?