首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux下Shell脚本的调试

这篇博文是对Debugging Shell Scripts in Linux的翻译,希望能帮助到在Linux下写Shell脚本的童鞋。...大多数编程语言都有可用的调试工具,调试工具可用在执行程序或脚本的时候让你检查其内部是如何进行的。...对于Shell脚本,我们没有任何可用的调试工具,唯一有的是通过命令行的标识(-n,-v和-x)来辅助我们调试脚本。...Disabling the Shell (-n option) 所谓的-n标识,是noexec的缩写,意为no execution。该标识使得Shell并不执行其中的脚本,而是仅仅检查语法错误。...-n标识并不能确保Shell会执行其它任何检查,实际上它只会执行常规的语法检查。通过使用-n标识,Shell不执行脚本中的命令,所以你可以很安全地检查你的脚本中是否包含语法错误。

31910
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Linux调试工具】gdbcgdb

    gdb 简介 GDB(GNU Debugger)是GNU项目中的一款强大的调试工具,广泛应用于调试C、C++等语言编写的程序。...我们可以来看看 可以看见确实是右debug信息 将编译的程序编程debug模式之后,我们就可以进行调试工具的学习了。...如果Linux系统上没有gdb可以通过下面命令进行下载: sudo yum install -y gdb 如何进入gdb gdb 需要调试的程序 这里我们已经进入了gdb的调试模式。...总结 通过本文对GDB和CGDB的介绍,可以看出,这两款工具在Linux开发环境中的重要性不言而喻。无论是传统的GDB,还是更加直观和友好的CGDB,它们都能帮助开发者高效地调试代码,定位问题。...掌握这些调试工具不仅能大幅提升开发效率,还能帮助开发者更深入理解程序运行机制。希望通过对这些工具的学习,能够让你在今后的开发过程中,调试变得更加得心应手。

    15510

    linux工具---gdb调试~~进程

    1.gdb的简单介绍 1.1程序发布版本 程序的发布一般都是两个版本,debug模式和release模式,在linux里面的gcc/g++编译出来的这个结果默认就是release模式,要想使用这个gdb...,其他的这个makefile文件的内容都是不变的; 1.3调试开始和结束 gdb后面加上这个当前目录下面的生成的文件的名字,出现的这个括号gdb加上这个闪动的光标就是想要我们输入这个调试的相关的指令;...我们输入q之后按下enter键就可以结束这个程序的调试过程; 1.4调试的相关指令 1.4.1设置断点 这个里面的7,8表示的就是这个程序的第七行和第八行; 1.4.2单步执行 就是使用的next指令,...里面的PCB tast_struct就是linux里面的PCB,是linux里面的一种数据类型; task_struct里面包含的属性有:标识符,状态,优先级,程序计数器,上下文数据,I/O状态记录,内存指针等所有的属性...; linux里面使用双向链表组织进程 2.4查看进程 查看进程的指令就是ls /proc,这个proc实际上就是一个linux下面的目录; 当前目录概念:我们创建一个文件,我们没有去指定这个文件的位置

    10610

    Linux Shell工具篇 - 文本切割工具cut

    介绍 cut 译为“剪切, 切割” ,它是一个强大文本处理工具,它可以将文本按列进行划分处理。cut 命令逐行读入文本,然后按列划分字段并进行提取、输出等操作。...cut 文件或数据 -nb 提取字节范围 演示 准备数据文件:cut1.txt touch cut1.txt 编辑文件添加内容 AA hello 11 XX BB world 22 XXX CC Shell...AA 11 BB 22 CC 33 DD 44 提取文件中第二列、第三列、第四列,范围查找: cut cut1.txt -d " " -f 2-4 #输出 hello 11 world 22 Shell...提取文件中第一列后面所有列的数据(从第二列开始一直到最后,包括第二列): cut cut1.txt -d " " -f 2- #输出 hello 11 XX world 22 XXX Shell...提取字符串”abc传智播客” 前4个字节: echo "abc传智播客" | cut -b -4 提取字符串”abc传智播客” 前6个字节: echo "abc传智播客" | cut -b -6 # 由于linux

    2.4K30

    使用bash编写Linux shell脚本--调试和版本控制

    对于专业的脚本开发人员具有脚本调试工具的扎实的知识是必不可少的。 外壳调试的特点 Bash 有几个开关和选项对于跟踪调试脚本是非常有用的。...二进制文件被 Linux 的 uuencode 命令转换为文本文件。 Shell archive 是一个自解压的归档文件。当外壳脚本执行时,在归档文件中的这些文件被解压缩。...Linux 的 shar 命令是一个新的建立外壳归档文件的工具。 为了将 orders....Shell archive 用于早期的新闻组压缩文件,它并不是特别的有效率,但是他们提供了一个不常用的外壳脚本的示例,并假设在所有的 Linux 发行版中都有效。...外壳调试( Shell Debugging )选项 n         -o errexit— 如果命令返回了错误码则终端外壳脚本的执行。

    3K111

    shell脚本的调试

    使用set命令调试部分脚本内容 set命令可辅助脚本调试,以下是set命令常用的调试选项: set -n 读命令但并不执行 set -v 显示读取的所有行 set -x 显示所有命令及其参数。...提示: 1)同bash命令参数功能 2)开启调试功能通过set -x命令,而关闭调试功能通过set +x shell调试技巧小结 1)要记得首先用dos2unix 对脚本格式化 2)直接执行脚本根据报错来调试...,有时报错不准确 3)sh -x 调试整个脚本,显示执行过程(大海捞针困难) 4)set -x和set +x 调试部分脚本(脚本中设置) 5)echo 输出变量及相关内容,然后紧跟着exit退出,不执行后面程序的...Shell帮助与资料推荐 http://www.gnu.org/software/bash/manual/bash.html man bash Unix Shell 范例精解(第4版)老男孩推荐 Unix...Shell百度云盘下载 密码:3z0x

    61220

    【Linux】调试工具gdb的使用

    环境:centos7.6,腾讯云服务器 Linux文章都放在了专栏:【 Linux 】欢迎支持订阅 前言 在前文,我们已经讲解了vim工具以及gcc/g++的使用,我们可以进行编写代码以及编译代码了...,但是还没有学习如何在Linux下对代码进行调试,通过本章的学习,将学会如何使用gdb对代码进行调试。...Debug:调试版本 Release:发行版本(编译器会对我们的代码进行优化) 而我们一般都是在Debug下进行调试,但是Linux下gcc/g++生成的二进制程序时Release版本的,...gdb 可执行程序:进入调试 q/quit/ctrl d:退出调试 代码的查看(l) 我们在这种无图形化界面的Linux下调试时,如何看到我们的代码呢?...下也可以查看堆栈调用情况,输入指令bt即可 VS里main函数函数栈帧的创建 Linux下使用gdb调试bt命令观察所调用堆栈 跳转指定行(until) 在vs中,我们在调试时要想跳转至指定行号的地方

    3.4K30

    【Linux】Shell 编程规范及检查工具推荐

    此外,Shell 编程还会涉及到以下几个方面的内容: 对 Shell 环境的理解 对变量和函数的使用 对条件语句、循环控制语句等复杂逻辑的应用 对程序错误的处理和调试技巧 2、Shell 脚本 Shell...Shell 脚本主要用于在类 Unix 系统(如 Linux、macOS 等)中完成以下工作: 执行批处理任务:如批量安装软件、生成系统配置等 实现自动化过程:如自动处理大量文本内容、自动备份数据等 管理操作系统...本文总结了 20 余条常用编程规范,并推荐一种 Shell 脚本检查工具,帮助大家养成良好的 Shell 编程习惯。...,方便在脚本运行出现异常时进行排查和调试;回显可以通过 echo -e "\033[2;32m xxxxxxx \033[0m" 命令设置颜色、高亮等特效提升输出效果 建议在 Shell 脚本中使用 >...> filename 方式逐行写入 检查工具推荐 1、ShellCheck 简介 ShellCheck 是一种静态分析工具,专门用于分析

    24910

    搞定 Linux Shell 文本处理工具

    本文将介绍Linux下使用Shell处理文本时最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供的例子和参数都是最常用和最为实用的;...file1 file2 1colin 2 book 默认的定界符是制表符,可以用-d指明定界符 paste file1 file2 -d "," 1,colin 2,book 8、wc 统计行和字符的工具.../g" $>line con a replaced 字符串插入字符:将文本中每行内容(PEKSHA) 转换为 PEK/SHA sed 's/^.{3}/&//g' file 10、awk 数据流处理工具.../' #包含linux文本的行(可以用正则表达式来指定,超级强大) awk '!.../linux/' #不包含linux文本的行 设置定界符 使用-F来设置定界符(默认为空格) awk -F: '{print $NF}'/etc/passwd 读取命令输出 使用getline,将外部

    1.7K10

    Linux Shell 文本处理工具集锦

    本文将介绍Linux下使用Shell处理文本时最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供的例子和参数都是最常用和最为实用的;...file1 file2 1 colin 2 book 默认的定界符是制表符,可以用-d指明定界符 paste file1 file2 -d “,” 1,colin 2,book wc 统计行和字符的工具...$>line con a replaced 其它示例 字符串插入字符:将文本中每行内容(PEKSHA) 转换为 PEK/SHA sed 's/^.\{3\}/&\//g' file awk 数据流处理工具.../'#包含linux文本的行(可以用正则表达式来指定,超级强大) awk '!.../linux/' #不包含linux文本的行 设置定界符 使用-F来设置定界符(默认为空格) awk -F: '{print $NF}' /etc/passwd 读取命令输出 使用getline,将外部

    3.3K70
    领券