【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 
相关推荐
翼龙云_cloud几秒前
腾讯云云渠道商:如何利用镜像实现跨云平台迁移?
运维·服务器·云计算·php·腾讯云
一勺菠萝丶1 分钟前
Jenkins 中如何给角色分配多个不同名称的项目(Role 权限实战)
java·运维·jenkins
蟑螂恶霸3 分钟前
ubuntu 20.04 移除旧版systemback, 安装新版1.8.5, 支持大型ISO镜像
linux·服务器·ubuntu
JPX-NO4 分钟前
ubuntu编译安装FreeRDP Version 3.x.x 版本
linux·ubuntu
白云千载尽5 分钟前
linux中can,pcap数据录制与udp缓存空间配置
linux·运维·udp
好好沉淀5 分钟前
开发过程中动态 SQL 中where 1=1的作用是什么
java·服务器·开发语言·数据库·sql
yenggd6 分钟前
锐捷gre over ipsec结合ospf配置案例
运维·网络·笔记
iCora8 分钟前
vim入门
linux·编辑器·vim
Neolnfra11 分钟前
跨站请求伪造攻击(CSRF)解析
服务器·网络·系统安全·网络攻击模型·安全威胁分析·csrf·安全架构
weixin_4481132211 分钟前
Jenkins备份及回滚方式
运维·jenkins