iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么在Shell脚本中执行语法检查调试模式
  • 151
分享到

怎么在Shell脚本中执行语法检查调试模式

2023-06-16 15:06:03 151人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关怎么在shell脚本中执行语法检查调试模式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。启用 verbose 调试模式在进入本指导的重点之前,让我们简要地探索下 verbose

这篇文章将为大家详细讲解有关怎么在shell脚本中执行语法检查调试模式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

启用 verbose 调试模式

在进入本指导的重点之前,让我们简要地探索下 verbose 模式。它可以用 -v 调试选项来启用,它会告诉 shell 在读取时显示每行。

要展示这个如何工作,下面是一个示例脚本来批量将 PNG 图片转换成 JPG 格式。

将下面内容输入(或者复制粘贴)到一个文件中。

#!/bin/bash #convert for image in *.png; do convert  "$image"  "${image%.png}.jpg" echo "image $image converted to ${image%.png}.jpg" done exit 0

接着保存文件,并用下面的命令使脚本可执行:

$ chmod +x script.sh

我们可以执行脚本并显示它被 Shell 读取到的每一行:

$ bash -v script.sh

怎么在Shell脚本中执行语法检查调试模式

显示shell脚本中的所有行

在 Shell 脚本中启用语法检查调试模式

回到我们主题的重点,-n 激活语法检查模式。它会让 shell 读取所有的命令,但是不会执行它们,它(shell)只会检查语法。

一旦 shell 脚本中发现有错误,shell 会在终端中输出错误,不然就不会显示任何东西。

激活语法检查的命令如下:

$ bash -n script.sh

因为脚本中的语法是正确的,上面的命令不会显示任何东西。所以,让我们尝试删除结束 for 循环的 done 来看下是否会显示错误:

下面是修改过的含有 bug 的批量将 png 图片转换成 jpg 格式的脚本。

#!/bin/bash #script with a bug #convert for image in *.png; do convert  "$image"  "${image%.png}.jpg" echo "image $image converted to ${image%.png}.jpg" exit 0

保存文件,接着运行该脚本并执行语法检查:

$ bash -n script.sh

怎么在Shell脚本中执行语法检查调试模式

检查 shell 脚本语法

从上面的输出中,我们看到我们的脚本中有一个错误,for 循环缺少了一个结束的 done 关键字。shell  脚本从头到尾检查文件,一旦没有找到它(done),shell 会打印出一个语法错误:

script.sh: line 11: syntax error: unexpected end of file

我们可以同时结合 verbose 模式和语法检查模式:

$ bash -vn script.sh

怎么在Shell脚本中执行语法检查调试模式

在脚本中同时启用 verbose 检查和语法检查

另外,我们可以通过修改脚本的首行来启用脚本检查,如下面的例子:

#!/bin/bash -n #altering the first line of a script to enable syntax checking #convert for image in *.png; do convert  "$image"  "${image%.png}.jpg" echo "image $image converted to ${image%.png}.jpg" exit 0

如上所示,保存文件并在运行中检查语法:

$ ./script.sh script.sh: line 12: syntax error: unexpected end of file

此外,我们可以用内置的 set 命令来在脚本中启用调试模式。

下面的例子中,我们只检查脚本中的 for 循环语法。

#!/bin/bash #using set shell built-in command to enable debugging #convert #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

再一次保存并执行脚本:

$ ./script.sh

关于“怎么在Shell脚本中执行语法检查调试模式”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 怎么在Shell脚本中执行语法检查调试模式

本文链接: https://www.lsjlt.com/news/284095.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在Shell脚本中执行语法检查调试模式
    这篇文章将为大家详细讲解有关怎么在Shell脚本中执行语法检查调试模式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。启用 verbose 调试模式在进入本指导的重点之前,让我们简要地探索下 verbose...
    99+
    2023-06-16
  • 怎么在Shell脚本中跟踪调试命令的执行
    这篇文章主要介绍怎么在Shell脚本中跟踪调试命令的执行,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本系列的前面部分清晰地阐明了另外两种 shell 脚本调试模式:详细模式和语法检查模式,并用易于理解的例子展示了如...
    99+
    2023-06-16
  • 怎么在Linux中启用Shell脚本的调试模式
    本篇内容主要讲解“怎么在Linux中启用Shell脚本的调试模式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Linux中启用Shell脚本的调试模式”吧!脚本是存储在一个文件的一系列命令...
    99+
    2023-06-16
  • Shell脚本中怎么执行sql语句
    本篇文章为大家展示了Shell脚本中怎么执行sql语句,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、将SQL语句直接嵌入到shell脚本文件中代码如下:--演示环境  [root@SZ...
    99+
    2023-06-09
  • 如何在Linux中启用Shell脚本的调试模式
    这篇文章的内容主要围绕如何在Linux中启用Shell脚本的调试模式进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!在Linux系统中脚本是一个可以储...
    99+
    2023-06-28
  • 怎么查看shell脚本执行过程
    要查看shell脚本的执行过程,可以在脚本中添加一些调试信息或者使用一些工具来帮助查看执行过程。以下是一些常用的方法: 添加调试信...
    99+
    2024-04-08
    shell
  • Linux Shell脚本调试模式的方法有哪些
    这篇文章主要介绍“Linux Shell脚本调试模式的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux Shell脚本调试模式的方法有哪些”文章能帮助大家解决问题。如何开始写一个脚...
    99+
    2023-06-27
  • shell脚本中怎么检查文件是否存在
    shell脚本中怎么检查文件是否存在,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 # ll -h upload.zip-rw-r--r-- 1 root root 3.3M ...
    99+
    2023-06-17
  • 怎么在Linux中使用shell脚本自动执行脚本文件
    本篇文章为大家展示了怎么在Linux中使用shell脚本自动执行脚本文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、定时复制文件  a、在/usr/local/wfjb_web_back目录下...
    99+
    2023-06-09
  • 怎么在shell脚本中执行hive和sqoop命令
    这篇文章将为大家详细讲解有关怎么在shell脚本中执行hive和sqoop命令,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、test.sh脚本内容如下:#!/bin/bash#CURR_...
    99+
    2023-06-09
  • Ubuntu中怎么执行shell脚本文件
    这期内容当中小编将会给大家带来有关Ubuntu中怎么执行shell脚本文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先,要确保这个文件的类型是可执行的。有两种办法把文件设置为可执行文件。1) 直接在...
    99+
    2023-06-17
  • 怎么在shell脚本中执行python脚本并接收其返回值
    这篇文章主要介绍“怎么在shell脚本中执行python脚本并接收其返回值”,在日常操作中,相信很多人在怎么在shell脚本中执行python脚本并接收其返回值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎...
    99+
    2023-06-09
  • 怎么在Linux中使用crontab定时执行Shell脚本
    今天就跟大家聊聊有关怎么在Linux中使用crontab定时执行Shell脚本,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、crontab执行配置* * *&...
    99+
    2023-06-09
  • 怎么在Shell脚本中调用另一个脚本
    这期内容当中小编将会给大家带来有关怎么在Shell脚本中调用另一个脚本,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。forkfork 是最普通的, 就是直接在脚本里面用 path/to/foo.sh 来调...
    99+
    2023-06-09
  • Shell脚本中怎么避免重复执行
    这篇文章给大家介绍Shell脚本中怎么避免重复执行,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。代码如下:# 检查通过sh命令执行的shell脚本是不是还在执行当中,避免重复执行. # 把这段代码放在需要保证唯一性的程...
    99+
    2023-06-09
  • GO语言在Linux下同步执行Shell脚本的方法是什么?
    在Linux系统中,Shell脚本是一种非常常见的脚本语言,可以用于快速地执行一些常见操作,比如创建文件、删除文件、修改文件权限等等。而GO语言是一种非常流行的编程语言,它可以用于开发各种类型的应用程序,包括服务器应用、桌面应用、移动应用...
    99+
    2023-10-25
    同步 shell linux
  • 怎么在shell实现定时周期性执行脚本
    这期内容当中小编将会给大家带来有关怎么在shell实现定时周期性执行脚本,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。示例编写测试脚本脚本 time .sh$ cat time.sh&...
    99+
    2023-06-09
  • linux中怎么让shell脚本变成可执行文件
    这篇文章主要介绍了linux中怎么让shell脚本变成可执行文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。创建bash脚本并使用chmod命令使脚本可执行,无需脚本前面加...
    99+
    2023-06-15
  • Shell脚本中怎么切换用户并执行命令
    这期内容当中小编将会给大家带来有关Shell脚本中怎么切换用户并执行命令,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。系统:centos 5.x脚本内容:cat test.sh代码如下:#!/bin/ba...
    99+
    2023-06-09
  • 怎么在Shell脚本中逐行读取文件
    小编给大家分享一下怎么在Shell脚本中逐行读取文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!方法一、使用输入重定向逐行读取文件的最简单方法是在while循环...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作