【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 
相关推荐
zdd5678914 小时前
行存表与列存表简述
运维·postgresql
小杨同学4914 小时前
Linux 从入门到实战:常用指令与 C 语言开发全指南
linux
福尔摩斯张15 小时前
Linux的pthread_self函数详解:多线程编程中的身份标识器(超详细)
linux·运维·服务器·网络·网络协议·tcp/ip·php
2401_8322981015 小时前
一云多芯时代:云服务器如何打破芯片架构壁垒
运维·服务器·架构
ArrebolJiuZhou15 小时前
02arm指令集(一)——LDR,MOV,STR的使用
linux·网络·单片机
一只旭宝15 小时前
Linux专题八:生产者消费者,读写者模型以及网络编程
linux·网络
Web极客码15 小时前
如何在 Linux 中终止一个进程?
linux·运维·服务器
大聪明-PLUS15 小时前
Linux 中的 GPIO 驱动程序
linux·嵌入式·arm·smarc
一枚正在学习的小白16 小时前
prometheus监控对外服务
运维·prometheus
tzhou6445216 小时前
Docker Compose 编排与 Harbor 私有仓库
运维·docker·容器