【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 
相关推荐
嵌入式×边缘AI:打怪升级日志1 小时前
Linux 驱动与应用开发核心自测题库(面试官问答完整版)
linux·运维·php
eastyuxiao3 小时前
企业 OpenClaw 文档自动化落地项目 - 思维导图范围拆解
运维·自动化
薛定谔的悦3 小时前
储能充放电状态机执行逻辑详解
linux·数据库·能源·储能·bms
Sirens.3 小时前
Umami:从Cloud迁移到服务器
运维·服务器
练习时长一年3 小时前
分页插件冲突问题
服务器·前端·windows
zhangfeng11333 小时前
CI/CD 是软件开发中的两个核心实践,合起来指代一套自动化的软件交付流程
运维·ci/cd·自动化
春蕾夏荷_7282977253 小时前
2、c++ acl tcp服务器客户端简单实例-服务器端(1)
服务器·c++·tcp/ip
嵌入式×边缘AI:打怪升级日志3 小时前
Tina SDK Linux Kernel 基本使用(实战篇:为7寸RGB LCD触摸屏添加驱动支持).md
linux·运维·服务器
十 一 丶4 小时前
如何在客户端实现ssh的免密登录?
运维·rust·ssh
想唱rap4 小时前
应用层HTTPS协议
服务器·网络·c++·网络协议·http·https