【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 
相关推荐
江畔何人初4 分钟前
kubernetes中configmap与secret的区别
linux·运维·云原生·容器·kubernetes
夏乌_Wx14 分钟前
mybash:简易 Shell 实现的设计思路与核心模块解析
linux·服务器·前端
程序员爱德华16 分钟前
Linux中的 源 和 Channels
linux·channels·
2501_9181269135 分钟前
stm32核心板是什么属性?
linux·c语言·stm32·嵌入式硬件·个人开发
500佰1 小时前
Hive常见故障多案例FAQ宝典 --项目总结(宝典一)
大数据·linux·数据仓库·hive·hadoop·云计算·运维开发
henry1010101 小时前
Ansible自动化运维全攻略(AI生成)
linux·运维·python·ansible·devops
vortex51 小时前
APT软件包管理从入门到精通
linux·运维·服务器·kali
古译汉书1 小时前
RTOS:ISR与互斥量的关系
运维·服务器·stm32·嵌入式硬件
feng68_1 小时前
Keepalived基础实现
运维·服务器·keepalived
暴力求解1 小时前
Linux---基础IO详解
linux·运维·服务器