【linux】shell脚本调试

前几天的一篇linux定时删除服务器日志 ,有人读了,私信问题。说我写了脚本了,怎么去调试一下,类似于代码的debug。

那我们今天来聊聊。

执行脚本命令是

sh 脚本名

bash 复制代码
sh dele_log2.sh 

执行并输出。

Shell 脚本调试选项

-v(verbose )

告诉 Shell 读取脚本时显示所有行,激活详细模式。

其实就是当命令进行读取时显示输入。

sh -v 脚本名

bash 复制代码
sh -v dele_log2.sh 

在脚本内部增加 set -v

执行sh dele_log2.sh ,和上面的sh -v dele_log2.sh 一样的效果

+v:禁止打印输入
bash 复制代码
 sh +v dele_log2.sh 
-n(noexec 或 no ecxecution)
  • 指示 Shell 读取所有命令然而不执行它们,这个选项激活语法检查模式。

sh -n 脚本名

bash 复制代码
sh -n dele_log2.sh 
-x(xtrace 或 execution trace )

告诉 Shell 在终端显示所有执行的命令和它们的参数。 这个选项是启用 Shell 跟踪模式。

sh -x 脚本名
bash 复制代码
sh -x dele_log2.sh 
在脚本内部增加 set -x

执行sh dele_log2.sh ,和上面的sh -x dele_log2.sh 一样的效果

+x:禁止调试。
bash 复制代码
 sh +x dele_log2.sh 
相关推荐
信工 18024 分钟前
rk3568-Linux应用程序和驱动程序接口
linux·驱动开发·rk3568
m0_6948455714 分钟前
UVdesk部署教程:企业级帮助台系统实践
服务器·开发语言·后端·golang·github
VBsemi-专注于MOSFET研发定制30 分钟前
AI训练服务器8GPU功率链路设计实战:效率、可靠性与功率密度的平衡之道
运维·服务器·人工智能
倒酒小生36 分钟前
4月7日算法学习小结
linux·服务器·学习
木子欢儿36 分钟前
KasmVNC 指南:高性能网页原生 Linux 远程桌面方案
linux·运维·服务器
摆烂z1 小时前
对外访问网络限制*.aliyuncs.com开放也拉不下来和查看docker容器结构
运维·docker·容器
炘爚1 小时前
日志系统整体设计步骤以及功能函数梳理
运维·服务器·数据库
西西弟1 小时前
网络编程基础之TCP基本通信
服务器·网络·网络协议·tcp/ip
Utopia^1 小时前
Flutter 框架跨平台鸿蒙开发 - 时光倒流
服务器·flutter·华为·harmonyos
luoqice2 小时前
嵌入式linux用nfs挂载ubuntu目录的配置步骤
linux