`
febird
  • 浏览: 256532 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

shell 中验证管道是否正确执行

 
阅读更多

象这样的 shell 代码:

prog1 | prog2 | prog3 | prog4

$? 只能得到最后一个命令的返回值,该 如何检查整个命令是否全部正确执行?

有一个数组变量PIPESTATUS ,保存了最近一个管道命令中所有子命令的返回值

该返回值与 $? 一样,每次命令都会改写它,因此,要保存它就必须马上!

以下代码可以检查管道命令:

prog1 | prog2 | prog3 | prog4
if [[ "0 0 0 0" == ${PIPESTATUS[*]} ]]
then
    echo success
else
    echo failed >&2
fi
 
0
0
分享到:
评论

相关推荐

    linux作业:编写shell程序

    通过一系列的测试,包括重定向、管道、多行命令以及后台进程的支持,验证了程序的稳定性和实用性。信号程序也成功地实现了预期的功能。 #### 五、实验中遇到的问题及解决方案 1. **资源管理问题**:在程序执行过程...

    Linuxshell大作业.pdf

    1. Shell脚本基础:文档提到了Shell脚本的编写和执行。脚本以#!/bin/sh开头,说明其解释器是/bin/sh,即标准的shell环境。Shell脚本的编写需要遵循特定的语法规范,例如使用while、case、if等控制结构。 2. 用户...

    操作系统接口Shell命令语言

    在批处理模式下,Shell会读取并执行批文件中的所有命令,而在命令行模式下,用户可以逐条输入并执行命令。 在键盘终端处理程序中,字符接收功能分为面向字符和面向行两种方式,分别处理即时输入和行编辑。字符缓冲...

    shell lab解答

    在解决Shell Lab的练习时,通常需要阅读文档,理解每个练习的目标,编写相应的脚本,然后通过提供的测试用例来验证解决方案的正确性。此外,良好的代码风格和注释也是提高代码可读性和可维护性的关键。 总结来说,...

    模拟shell命令解释器操作系统课程设计报告

    - 在项目完成后,应当进行详尽的测试来验证各项功能的正确性。 - 测试应当涵盖基本的命令执行、管道和重定向、作业控制等多个方面。 - 分析输出结果,确保命令解释器能够按照预期工作,处理异常情况的能力也非常重要...

    实验:设计自己的shell

    - `check.cpp`:可能包含测试代码,用于验证Shell实现的正确性。 - `args.cpp`:可能实现了命令和参数的解析逻辑。 - `testcase*.in`:测试用例文件,用于自动化测试Shell的输入输出。 - `main_sol`:可能是...

    一本深入学习shell脚本艺术的书籍

    Shell脚本,尤其是Bash脚本,是Linux和Unix系统中不可或缺的工具,它使得用户能够编写自动化任务、管理系统以及执行一系列命令操作。《高级Bash脚本编程指南》是一本深入探讨这一领域的权威书籍,为读者提供了全面且...

    java调用shell向DataX传递参数,where条件,包含特殊字符

    当条件包含特殊字符(如单引号 `'`、双引号 `"`、反斜杠 `\` 或者管道符号 `|` 等)时,必须正确转义以防止shell解释器错误解析。Java中的`StringEscapeUtils`类可以帮助你完成字符串的转义。 以下是一个简单的示例...

    shell脚本学习指南

    - **语法错误**:检查引号的使用是否正确,确保所有命令和语法结构都正确闭合。 - **逻辑错误**:通过逐步调试或增加日志记录来定位问题所在。 #### 六、进一步学习资源 - **在线教程**:如官方文档、社区论坛等。...

    shell_study

    在IT行业中,Shell脚本是一种极其重要的工具,尤其在Linux和Unix系统中广泛使用。它是一种解释型的编程语言,允许用户通过命令行接口与操作系统进行交互,执行一系列自动化任务。"shell_study"这个主题恰好涵盖了对...

    win连接linux-shell-x_5

    在Shell环境中,你可以利用各种Linux命令来执行任务,例如ls列出目录内容,cd改变目录,mv移动或重命名文件,cp复制文件,rm删除文件,mkdir创建目录,rmkdir删除目录,cat查看文件内容,vi或nano编辑文本文件,以及...

    python 捕获shell脚本的输出结果实例

    1. **安全问题**:直接在代码中拼接命令可能会导致命令注入攻击,请确保对用户输入进行验证。 2. **兼容性**:上述示例中提到的 `commands` 模块在Python 3中已被移除,应使用 `subprocess` 模块替代。 3. **编码...

    linuxShell脚本编写实验7报告.pdf

    Linux Shell脚本是Linux系统中进行自动化任务处理的重要工具,它允许用户编写一系列命令来执行复杂的操作。在本次实验中,我们重点学习了以下几个方面的Shell脚本编写技巧: 1. **基本知识**:Shell脚本的基本结构...

    利用Shell解析处理XML的方法汇总

    在IT领域,尤其是在系统管理和自动化任务中,Shell脚本经常被用来处理各种任务,包括解析和操作XML数据。XML作为一种结构化的数据交换格式,广泛应用于配置文件、数据传输和存储等场景。本文将详细介绍如何利用Shell...

    VBScript 打造自己的远程CMDShell附使用教程

    脚本中的密码验证是基于字符串“enun”的,当远程机器发送这个字符串并被服务器接收后,才会建立一个Shell对象,允许执行命令。一旦连接成功,你可以输入命令,脚本会将命令发送到远程机器,并返回执行结果。 **...

    shell脚本练习-2

    ### Shell脚本练习知识点解析 #### 一、测试用户名与密码是否正确 ...- 使用管道和 `sort -n` 命令对数组进行排序,并将排序后的结果存储到新数组 `sorted_numbers` 中。 - 最后输出排序后的数组。

    shellScripts:只是一些用于测试的shell脚本

    在IT行业中,Shell脚本是一种极其重要的工具,尤其在Linux和Unix系统中,它被广泛用于自动化任务执行、系统管理以及文件操作等。这个压缩包文件"shellScripts:只是一些用于测试的shell脚本"显然包含了一系列用于实验...

    Linux 平台下 RMAN 全备 和 增量备份 shell 脚本

    - **备份验证**:定期验证备份的有效性非常重要,可以通过 `CROSSCHECK` 命令检查备份文件是否仍然可用。 综上所述,在 Linux 平台上使用 RMAN 进行数据库备份是一项重要的运维任务。通过编写自动化脚本,不仅可以...

    DOS命令_Net_use__Shell_编程实例集锦

    IPC$是一个特殊的共享资源,允许远程访问目标计算机的命名管道。 ##### 3. 建立非空连接 ``` net use \\IP\ipc$ "密码" /user:"用户名" ``` 当需要使用特定用户名和密码进行认证时,可以使用这种形式的命令。注意...

    加里尔:Unix Shell

    Unix Shell是Unix操作系统中的一种命令行界面,用户可以通过它来执行系统命令、编写脚本和控制程序。在深入探讨加里尔项目之前,我们先来了解一下Unix Shell的基本概念。 Unix Shell是Unix操作系统的核心组成部分之...

Global site tag (gtag.js) - Google Analytics