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 这个作用域
posted on 2020-10-15 19:09 andydaopeng 阅读(131) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
2018-10-15 linux运维(重点)