【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 
相关推荐
桌面运维家19 分钟前
服务器RAID优化:IOPS性能与数据安全实战指南
运维·服务器·网络
江公望28 分钟前
make modules_install和make install的区别
linux
HABuo29 分钟前
【linux线程(二)】线程互斥、线程同步、条件变量详细剖析
linux·运维·服务器·c语言·c++·ubuntu·centos
墨^O^33 分钟前
进程与线程的核心区别及 Linux 启动全过程解析
linux·c++·笔记·学习
福楠33 分钟前
现代C++ | C++14甜点特性
linux·c语言·开发语言·c++
Lugas Luo35 分钟前
Kernel 5.10 针对 eMMC 的 Detect、Power、Add 及深度优化解析
linux·嵌入式硬件
charlie11451419136 分钟前
嵌入式C++教程实战之Linux下的单片机编程:从零搭建 STM32 开发工具链(4)从零构建 STM32 构建系统
linux·开发语言·c++·stm32·单片机·学习·嵌入式
crossaspeed40 分钟前
Nginx配置文件详解
运维·nginx
熙客1 小时前
Nginx安装与使用
运维·nginx
小五传输1 小时前
Rsync已过时?新一代服务器文件自动同步软件实现跨平台同步
大数据·运维·安全