Linux Shell脚本调试方法

简介: Linux Shell脚本调试方法

Shell本身提供一些调试方法选项:

  • -n,读一遍脚本中的命令但不执行,用于检查脚本中的语法错误。
  • -v,一边执行脚本,一边将执行过的脚本命令打印到标准输出。
  • -x,提供跟踪执行信息,将执行的每一条命令和结果依次打印出来。
    使用这些选项有三种方法(注意:避免几种调试选项混用)

1.在命令行提供参数:

$sh -x debug.sh
#!/bin/bash
#批量将 PNG 图片转换成 JPG 格式
for image in *.png; do
convert "$image" "${image%.png}.jpg"
echo "image $image converted to ${image%.png}.jpg"
done
exit 0
chmod +x debug.sh
# 执行脚本并显示它被 Shell 读取到的每一行:
bash -v debug.sh
#!/bin/bash
# 批量将 PNG 图片转换成 JPG 格式
# script whith a bug
for image in *.png;
do
convert "$image" "${image%.png}.jpg"
echo "image $image converted to ${image%.png}.jpg"
# done
exit 0
bash -n debug.sh
bash -vn debug.sh

2.脚本开头提供参数:

#!/bin/sh -x

3.在脚本中用set命令启用or禁用参数:

set -x  # 表示启用
调试部分的代码块
set +x  # 表示禁用
#!/bin/bash
#批量将 PNG 图片转换成 JPG 格式
#using set shell built-in command to enable debugging
#enable debugging
set -n
for image in *.png; do
convert "$image" "${image%.png}.jpg"
echo "image $image converted to ${image%.png}.jpg"
#disable debugging
set +n
exit 0


相关文章
|
15天前
|
运维 监控 Linux
BPF及Linux性能调试探索初探
BPF技术从最初的网络数据包过滤发展为强大的系统性能优化工具,无需修改内核代码即可实现实时监控、动态调整和精确分析。本文深入探讨BPF在Linux性能调试中的应用,介绍bpftune和BPF-tools等工具,并通过具体案例展示其优化效果。
41 14
|
1月前
|
缓存 NoSQL Linux
Linux调试
本文介绍了Linux调试、性能分析和追踪的培训资料,涵盖调试、性能分析和追踪的基础知识及常用工具。
245 6
Linux调试
|
1月前
|
Shell Linux 测试技术
6种方法打造出色的Shell脚本
6种方法打造出色的Shell脚本
70 2
6种方法打造出色的Shell脚本
|
1月前
|
存储 Shell Linux
Linux 如何更改默认 Shell
Linux 如何更改默认 Shell
38 0
Linux 如何更改默认 Shell
|
1月前
|
Linux Shell 数据库
文件查找是Linux用户日常工作的重要技能介绍了几种不常见的文件查找方法
文件查找是Linux用户日常工作的重要技能。本文介绍了几种不常见的文件查找方法,包括使用`find`和`column`组合、`locate`和`mlocate`快速查找、编写Shell脚本、使用现代工具`fd`、结合`grep`搜索文件内容,以及图形界面工具如`Gnome Search Tool`和`Albert`。这些方法能显著提升文件查找的效率和准确性。
53 2
|
1月前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
2月前
|
运维 Linux
Linux查找占用的端口,并杀死进程的简单方法
通过上述步骤和命令,您能够迅速识别并根据实际情况管理Linux系统中占用特定端口的进程。为了获得更全面的服务器管理技巧和解决方案,提供了丰富的资源和专业服务,是您提升运维技能的理想选择。
86 1
|
2月前
|
运维 安全 Linux
Linux文件清空的五种方法总结分享
每种方法各有优势,选择最合适的一种或几种,可以极大提高您的工作效率。更多有关Linux系统管理的技巧与资源,欢迎访问,持续提升您的运维技能。
87 1
|
Unix Shell Linux
|
4月前
|
Shell Linux 程序员
在Linux中, 什么是shell函数?如何使用它们?
在Linux中, 什么是shell函数?如何使用它们?