脚本调试sh -x xx.sh、set -x

YT8521SH网络调试实战:RGMII时序与LED配置避坑指南 以太网PHY是嵌入式网络通信的基础器件,其与MAC之间的RGMII接口时序直接影响链路稳定性。在嵌入式调试中,U-Boot下对PHY寄存器的操作是定位问题的关键手段。本文从RGMII采样原理出发,解析时钟偏移与数据窗口的关系,并结合裕太微YT8521SH实测案例,详细展示了如何通过U-Boot配置PHY内部延时代码解决千兆不通问题,同时介绍LED功能映射寄存器的调整方法。适用于工业控制、核心板等场景,帮助开发者快速排查网络故障。 阅读详情

目录

一.简介
二.sh -x 脚本名.sh
三.set -x

一.简介

使用sh -x调试shell脚本
“-x”选项可用来跟踪脚本的执行,是调试shell脚本的强有力工具。“-x”选项使shell在执行脚本的过程中把它实际执行的每一个命令行显示出来,并且在行首显示一个”+”号。 “+”号后面显示的是经过了变量替换之后的命令行的内容,有助于分析实际执行的是什么命令。 “-x”选项使用起来简单方便,可以轻松对付大多数的shell调试任务,应把其当作首选的调试手段。
shell的执行选项除了可以在启动shell时指定外,亦可在脚本中用set命令来指定。 “set -参数”表示启用某选项,”set +参数”表示关闭某选项。有时候我们并不需要在启动时用”-x”选项来跟踪所有的命令行,这时我们可以在脚本中使用set命令,如以下脚本片段所示:

set -x    #启动"-x"选项 要跟踪的程序段 
set +x     #关闭"-x"选项
二.sh -x 脚本名.sh
[root@hadoop1 all]# cat 2018070401.sh
#!/bin/bash
var=$1
echo $var
[root@hadoop1 all]# sh -x 2018070401.sh hello
#控制台输出
+ var=hello
+ echo hello
hello  
 #带+的表示被跟踪的代码
三.set -x

对脚本内部部分代码进行跟踪,被跟踪的代码以set -x开始,与set +x结束

[root@master shellexer]# cat 2018070401.sh
#!/bin/bash
var=$1
set -x
eeco $var
set +x
echo $var
[root@hadoop1 all]# sh 2018070401.sh hello
#控制台输出
+ eeco hello
2018070401.sh: line 4: eeco: command not found
+ set +x
hello
Tomcat启动方式全解析:从startup.sh到systemd服务配置 在Java Web应用部署中,进程启动与管理是基础而关键的技术环节。其核心原理是通过Java虚拟机执行特定主类来承载应用。不同的启动方式直接影响着服务的可控性、可维护性与稳定性,技术价值体现在运维效率与系统可靠性上。尤其在Linux生产环境中,灵活选择启动策略能有效应对日志实时查看、JVM参数调优、服务自愈等常见场景。本文聚焦Tomcat这一广泛使用的Servlet容器,深入对比startup.sh脚本、catalina.sh直接控制与systemd服务化配置三种核心方式。其中,catalina.sh脚本提 阅读详情

相关推荐

reComputer R21xx工业边缘AI设备配置指南:从硬件认知到应用部署

边缘计算作为连接物理世界与数字世界的桥梁,通过在数据源头就近处理信息,有效降低了延迟与带宽压力。其核心原理是将计算能力下沉至网络边缘,结合AI推理与实时控制,实现快速响应与决策。这一技术价值在于为工业自动化、智能安防、车联网等场景提供了低延迟、高可靠的计算基础。在工业边缘场景中,专用设备如基于NVIDIA Jetson平台的reComputer R21xx系列,集成了强大AI算力与丰富工业I/O接口(如GPIO、CAN总线、RS-485),成为执行实时视觉检测、预测性维护等任务的关键节点。本文聚焦于此类设备

weixin_30814329的博客 371

使用sh-x调试shell脚本_转

参考:http://blog.chinaunix.net/uid-20564848-id-73502.html 1. 通过sh -x 脚本名 #显示脚本执行过程2.脚本里set -x选项,轻松跟踪调试shell脚本[以下字段转自:http://linux.chinaitlab.com/SHELL/727128_4.html]"-x"选项可用来跟踪脚本的执行,是调试shell脚本的强有力工...

weixin_30687051的博客 592

WPF MVVM实战:构建可绑定的RichTextBox富文本编辑器

本文详细介绍了如何在WPF MVVM模式下构建可绑定的RichTextBox富文本编辑器,解决标准RichTextBox.Document属性不支持数据绑定的问题。通过创建自定义BindableRichTextBox控件,实现FlowDocument的绑定支持,并分享插入图片、文本格式控制等实战技巧,帮助开发者高效开发富文本编辑功能。

weixin_33717117的博客 307

sh -x 执行脚本并显示执行过程

当使用sh -x命令执行Shell脚本时,系统会逐行执行脚本中的命令,并在执行每个命令时显示该命令以及其结果。这有助于用户跟踪脚本的执行过程,查看每个命令的执行结果,以便调试脚本中的错误和问题。调试模式会输出脚本中每个命令的执行结果和结果。总之,使用sh -x命令可以以调试模式运行Shell脚本,输出每个命令的执行情况,帮助用户调试和理解脚本的运行过程。调试模式还可用于查看脚本的执行流程,了解脚本中每个命令的执行顺序和结果,帮助用户更好地理解脚本的运行机制。

weixin_53389944的博客 2852

使用ACOLITE对OLCI影像进行大气校正+批处理

使用ACOLITE对OLCI影像进行大气校正+批处理

mrzhy1的博客 7360

视觉语言模型对抗攻击与防御:从传统方法到多模态挑战

本文深入探讨了视觉语言模型(VLM)面临的对抗攻击与防御挑战,从传统单模态攻击到多模态威胁的演进。分析了包括FGSM、PGD等经典攻击方法,以及新兴的多模态攻击如跨模态对抗样本和越狱攻击。同时提出了跨模态一致性检查、动态防御机制等创新防御策略,并结合医疗影像诊断等实战案例,为提升AI系统安全性提供了重要见解。

weixin_29231725的博客 392

sh -x

sh -x 命令的执行 将执行过程显示 利于 debug sh -x yourshell.sh 写入log sh -x yourshell.sh &> log shell命令 怎么学 linux shell? - 地球的外星人君的回答 - 知乎 https://www.zhihu.com/question/21281304/answer/172924307 ...

erinapple的博客 6572

Converting Phase Noise to Random Jitter(Period)

推导了Phase Noise to Random Jitter(Period)的转换过程,解释了分频对Phase Noise & Spur(每2分频改善6dB)的影响,每N分频,TIE RJ(1𝜎)不变(之前已推导),而Period RJ(1𝜎)增加√N倍。

u010486560的博客 2039

sh -x -u的作用

x:这个选项会使得 shell 在执行脚本时打印出每个命令以及它们的参数,但在实际执行之前。这通常用于调试脚本,因为它可以帮助你看到脚本中每个命令的执行情况,以及它们的参数是如何被解释的。-u:这个选项会使得 shell 在遇到未定义的变量时产生一个错误并退出。这是一种好的编程实践,因为它可以帮助你发现脚本中可能存在的拼写错误或者未初始化的变量。在 Linux 系统中,sh 是 Bourne shell 的命令,用于执行 shell 脚本。

文盲青年的博客 642

PVE 8.0 保姆级换源教程:从Debian到LXC仓库,一次搞定国内镜像(附弹窗去除)

本文提供PVE 8.0保姆级换源教程,涵盖从Debian基础源到LXC仓库的国内镜像配置,并附赠去除订阅弹窗的实用技巧。通过详细步骤和命令示例,帮助用户快速优化ProxmoxVE环境,提升下载速度并消除干扰提示,适用于虚拟化平台的高效管理。

weixin_33282146的博客 413

案例分析|一篇文章带你看懂养鸡场智慧管理系统

养鸡场智慧管理系统是为了满足现代化养鸡业对精细化管理的需求而设计的一款专业软件。随着科技的发展和农业产业的升级,传统的手工记录和管理方式已无法满足高效、准确和实时的数据跟踪需求。本软件旨在通过集成各种功能模块,帮助养鸡场主实现从鸡苗孵化、饲养管理、饲料控制到销售结算等全链条的智能化操作。该系统的核心目标是提升养鸡场的运营效率和盈利能力,通过自动化数据处理,减少人工误差,节省时间和精力。例如,孵化报表和记录模块可以帮助管理者实时监控孵化过程,及时调整策略;

muyu2980的专栏 930

使用sh -x调试shell脚本

使用sh -x调试shell脚本 通过 1.加入echo或者使用 2.-x选项,轻松跟踪调试shell脚本 [以下字段转自:http://linux.chinaitlab.com/SHELL/727128_4.html] "-x"选项可用来跟踪脚本的执行,是调试shell脚本的强有力工具。“-x”选项使shell在执行脚本的过程中把它实际执行的每一个命令行显示出来,并且在行首显示

d_o_n_g2的博客 4564

MCP详解:手把手教你理解和如何使用各种开源MCP服务

MCP 作为一种开放协议,为 AI 模型与外部世界的连接提供了标准化的解决方案。它不仅降低了开发门槛,还极大地扩展了 AI 应用的边界。无论是开发者还是普通用户,都可以通过 MCP 更高效地利用 AI 技术,实现更多智能化的功能。

王哥儿聊AI的博客 6056

脚本调试sh -x xx.sh、set -x

https://blog.csdn.net/yjgithub/article/details/80908079

Doris0214的博客 619

SAP使用XCO框架创建RAP所有对象

通过XCO框架自动生成SAP ABAP开发对象。

DeveloperMrMeng的博客 550

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

$@和$*和$?和$#在shell脚本中什么意思,set -x 是什么意思

看shell脚本的时候,发现两个奇怪的用法$@和。

先说一下,就简单地写点儿氵文,不是博客,只是我的笔记本/工具书 745

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

bash脚本测试总结

bash脚本测试总结 跟踪脚本的执行 可以让bash打印出你脚本执行的过程中的所有语句。这很简单,只需要使用bash的-x选项就可以做到,下面让我们来看一下。 下面的这段脚本,先是输出一个问候语句,然后输出当前的时间: #!/bin/bash echo "Hello $USER," echo "Today is $(date +'%Y-%m-%d')" 下面让我...

weixin_30432179的博客 393

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

linux 26、 shell脚本调试方法

shell脚本调试的两种方式 1 set -eux    在shell脚本内部上方加上如下内容 set -eux 解释: x: 显示每一步的执行结果 e: 脚本发生错误就中只执行 u: 遇到不存在的变量报错 2 执行脚本的时候加上-x命令 sh -x xx.sh 参考: http://www.ruanyifeng.com/blog/2017/11/bash-set.html?utm...

qingyuanluofeng的专栏 321

zynq中linux远程调试和寄存器读写脚本

适合规模小,依赖轻的简单测试。

qq_26074053的博客 301

Shell脚本避坑指南:从变量引号到set -euo pipefail的工程实践

Linux命令行操作是运维与开发者的日常,但将命令编排成可靠的自动化脚本却暗藏玄机。从基础的变量赋值、引号展开到条件判断与循环遍历,Shell脚本的每个细节都可能成为线上事故的导火索。理解命令替换、分词与通配符展开原理,掌握while read处理文件列表、mktemp创建临时文件等技巧,能显著提升脚本健壮性。而set -euo pipefail与trap清理机制,则是将“悄悄失败”转化为“大声失败”的关键防线。在面对cron定时任务与交互环境差异、文件名含空格等真实场景时,这些工程实践能帮助开发者快速定位

weixin_32745665的博客 322

Metabase 发布脚本 release.sh 3.0 完整使用指南:环境准备、构建流程与排障实战

本文以仓库内 [bin/release.md](https://link.gitcode.com/i/33b2f2b8aee24b4188e8a8a5b6d87f3b) 为蓝本,系统讲解 Metabase 官方发布脚本(Release Script 3.0)的完整使用流程,覆盖从 Clojure CLI 与 Java 8 环境搭建、AWS/DockerHub/GitHub 凭据配置,到一键执行 `

gitblog_00083的博客 955

YT8521SH RGMII调试实战:从U-Boot驱动到FPGA时序的完整排查

RGMII接口是嵌入式网络设计中常见的MAC与PHY之间的高速连接方式,其时钟与数据的相位关系是调通链路的关键。许多开发者会遇到PHY芯片物理连接正常,但网络通信异常的问题,根源往往在于PHY驱动中的内部延迟配置。YT8521SH作为国产千兆PHY芯片,在RGMII模式下默认关闭收发延迟,需要显式配置寄存器才能与MAC侧协调工作。本文从RGMII时序原理出发,分析YT8521SH的默认行为,给出U-Boot下PHY驱动的适配流程、LED模式配置方法,以及FPGA侧IDDR/ODDR时序约束的实操经验。面向嵌

weixin_33997389的博客 332

Shell脚本编程进阶:shift命令、错误处理与调试技巧全解析

Shell脚本作为一种胶水语言,擅长将系统命令高效组合,快速解决文件批量处理、日志分析、进程监控等实际问题。其核心不在于复杂语法,而在于“调用而非实现”的编程思维。理解变量边界、条件判断、循环遍历和函数返回等基础原理,能显著提升脚本的健壮性。实战中,shift命令用于解析命令行参数,让脚本更专业;通过set -e与|| true的配合,可以精准控制“忽略错误继续执行”的策略;借助bash -n和bash -x进行语法检查与调试,能快速定位问题;而file -i命令则用于查看脚本的字符编码,避免中文乱码。掌握

weixin_33563728的博客 242

从Termux到build.sh:手机构建Java项目全流程实战

Java开发常以IDE为起点,但核心工具链仅需javac和java即可运行。在资源受限的移动设备上,通过Termux搭建Linux用户态环境并安装JDK,即可突破传统认知,实现轻量级Java编码与编译。面对多文件项目与第三方依赖,手动敲命令难以复用,而基于bash封装的构建脚本能将源码收集、classpath拼接、编译运行与打包统一为简单指令。这一思路适用于算法练习、命令行工具和快速原型验证等场景,让开发者摆脱桌面环境束缚。本文围绕手机构建Java项目脚本的完整设计,从环境准备到脚本实战,提供一套可落地的移

weixin_33769125的博客 457

Bash脚本自动化实战:从基础语法到生产级运维脚本编写

在Linux系统管理与运维中,自动化是提升效率的核心技术。其原理在于将重复性手动操作转化为可重复执行的脚本程序,通过条件判断、循环控制等编程结构实现智能决策。这一技术价值显著,能够减少人为错误、提高任务执行一致性,并释放工程师精力以专注于更高价值工作。常见的应用场景包括日志清理、服务监控、批量文件处理、系统部署等日常运维任务。本文聚焦于Bash脚本的实战编写,深入讲解变量、参数传递、条件判断等基础语法,并结合日志归档、服务健康检查等具体案例,演示如何构建健壮可靠的生产级自动化脚本,帮助读者掌握从简单命令组合

weixin_30786657的博客 353

Shell脚本实战指南:从入门到精通,掌握运维自动化核心技能

Shell脚本作为Linux系统运维和自动化任务的核心工具,其本质是通过命令行解释器执行一系列预定义指令,实现流程自动化。其技术价值在于高效组合系统命令,充当不同工具间的“胶水”,将重复、易错的手工操作转化为可靠、可复用的自动化流程。在应用场景上,Shell脚本广泛应用于文件批量处理、系统监控告警、自动化部署、日志分析等日常运维工作。通过掌握变量、循环、函数及文本处理三剑客(grep、sed、awk)等核心要素,结合最佳实践避开常见陷阱,可以构建健壮的生产级脚本。本文以实战为导向,深入解析Shell脚本编程

weixin_34161083的博客 402
上一篇: SpringBoot(五):自定义属性获取
下一篇: linux下检测脚本
yjgithub
博客等级 码龄11年 53粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值