【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 
相关推荐
遇见火星几秒前
Linux性能调优:详解磁盘工作流程及性能指标
linux·运维·服务器
一点晖光几秒前
ssh连接慢的原因调查及解决方案
运维·ssh
专注VB编程开发20年2 分钟前
多线程解压安装ZIP,EXE分析-微软的MSI安装包和 .NET SDK EXE
linux·运维·服务器·microsoft·.net
测试人社区-千羽14 分钟前
AI测试中的伦理考虑因素
运维·人工智能·opencv·测试工具·数据挖掘·自动化·开源软件
yuguo.im14 分钟前
从零开始:Docker Compose YAML 文件深度解析与最佳实践
运维·docker·容器
方安乐21 分钟前
linux常用命令
linux·运维·服务器
weixin_3077791323 分钟前
Jenkins Pipeline: API 插件详解
运维·ci/cd·自动化·jenkins·etl
vortex526 分钟前
/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2:Linux 动态链接的核心引擎
linux·gnu
laocooon52385788628 分钟前
CentOS 8 中可以使用 **yum**(实际上是 **dnf** 的别名)来安装 Docker
linux·docker·centos
prettyxian33 分钟前
【linux】从 0 到 1 理解程序启动:冯诺依曼体系、操作系统与系统调用的协同密码
linux·运维·服务器