【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 
相关推荐
木童66227 分钟前
nginx安装步骤详解
linux·运维·服务器·网络·nginx
Coding_Doggy1 小时前
链盾shieldchain | 项目管理、DID操作、DID密钥更新消息定时提醒
java·服务器·前端
暴躁的菜鸡1 小时前
Ubuntu安装向日葵
linux·运维·ubuntu
wa的一声哭了1 小时前
Webase部署Webase-Web在合约IDE页面一直转圈
linux·运维·服务器·前端·python·区块链·ssh
Aufidius1 小时前
虚拟机ubuntu存储空间不够如何扩容(扩充根目录)
linux·运维·ubuntu
Warren982 小时前
软件测试常见面试题
linux·python·django·flask·virtualenv·pygame·tornado
tan180°2 小时前
Linux网络IP(上)(15)
linux·网络·tcp/ip
云和数据.ChenGuang3 小时前
运维工程师技术教程之nginx ip访问机制
运维·tcp/ip·nginx
没有名字的鬼3 小时前
RK3399 SSH连接设置
linux·ssh·rk3399·mobaxterm
“αβ”3 小时前
MySQL库的操作
linux·服务器·网络·数据库·c++·mysql·oracle