“管道标准错误,而不是标准输出”在 Zsh 中不起作用

2024-01-08

如何通过管道传输 stderr,而不是 stdout? https://stackoverflow.com/questions/2342826/how-to-pipe-stderr-and-not-stdout完美地捕捉了我的问题,第一个答案正是我最初尝试解决它的方式:

(echo stdout; echo 1>&2 stderr) 2>&1 >/dev/null | less

(带有 echos 的 subshel​​l 命令是一个最小的占位符,感谢 user1934428 来演示该问题;我的实际问题有一个更有用的命令,但其他人都无法运行。)

但是,它不起作用:它显示了两个标准输出and一起stderr。如果我删除管道,它会按预期工作,只显示 stderr。最终我意识到这可能是一个 shell 东西,并尝试了 bash:它在那里完美地工作。我正在使用 Zsh:Zsh 会导致失败吗?


这是因为MULTIOS,当您提供多个重定向时,它会复制输出流。管道是隐式重定向。

Type ls >/dev/null | less在你的zsh即使您重定向了它,您也会看到输出。这是多操作系统复制流。

unsetopt multios将提供所需的行为。这是一个非常方便的功能,如果我不会总是忘记它直到它激怒我的话。

http://zsh.sourceforge.net/Doc/Release/Redirection.html#Multios http://zsh.sourceforge.net/Doc/Release/Redirection.html#Multios

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“管道标准错误,而不是标准输出”在 Zsh 中不起作用 的相关文章

  • Python 脚本:每次打印新行到 shell,而不是更新现有行

    说到Python 我是个菜鸟 我有一个 python 脚本 它给我这样的输出 last ZVZX W3vo9I Downloading video webpage last ZVZX W3vo9I Extracting video info
  • VBA Shell 并等待退出代码

    我正在打包一个办公应用程序 VBA 它调用 C 控制台应用程序来执行应用程序 大型模拟程序 的一些繁重工作 我希望能够让 VBA 应用程序等待控制台应用程序完成并从控制台应用程序检索退出代码 我已经能够做到前者 但尚未能够从应用程序中检索退
  • 使用 shell=True 将 PATH 设置为 bitbake 的“source”在 Python 中没有效果

    下面是shell脚本中的代码 source proj common tools repo etc profile d repo sh repo project init branch repo project sync source pok
  • shell中如何分割字符串

    我有一个变量作为 string ABC400p2q4 我怎样才能分开ABC400 and p2q4 我需要将它分成两个变量 结果我得到 echo var1 ABC400 echo var2 p2q4 可以用任何字母字符代替 ABC 可以用任
  • 如何从 LaTeX 执行 shell 脚本?

    我正在尝试在 LaTeX 中执行以下操作 documentclass article begin document execute usr local bin my shell script sh end document 想法是执行 us
  • 是否有 ADB 命令来检查媒体是否正在播放

    我想使用 ADB 命令检查根植于终端的外部设备中是否正在播放音频 视频 我无法找到任何 ADB 命令 如果有 我尝试过 adb shell dumpsys media player 我想要一个命令来指定视频是否正在运行 您可以使用以下命令查
  • zsh 问题:在提示符附近显示最新的文件和目录以及建议的最新文件或目录

    在 MacOS Big Sur 11 3 上 这是我的 zshrc 我想获取最新的修改或创建靠近提示的文件和目录 从最新到最旧的排序 这是我当前的配置 zshrc ZSH completion autoload Uz compinit co
  • 并行运行 shell 脚本

    我有一个 shell 脚本 打乱大型文本文件 600 万行和 6 列 根据第一列对文件进行排序 输出 1000 个文件 所以伪代码看起来像这样 file1 sh bin bash for i in seq 1 1000 do Generat
  • SVN 提交后挂钩在提交后不会运行

    我的服务器上设置了 SVN 存储库 并且遇到提交后问题 我在 iMac 上使用 SmartSVN 作为客户端 我通过 SmartSVN 的 ssh svn 连接 我能够成功连接到 SVN 并对其进行更改 但从 SVN 客户端提交后 我的提交
  • 在 AIX 中使用 Mailx 通过电子邮件发送 SQLPlus 查询结果的 Shell 脚本

    我有我需要的命令 如果我在提示符下执行这些命令 一切都会按预期进行 SQLPlus 运行查询 将结果导出到文件 然后 Mailx 将该文件通过电子邮件发送给我 sqlplus username pwd instance SPOOL home
  • 使用 python 脚本更改 shell 中的工作目录

    我想实现一个用户态命令 它将采用其参数之一 路径 并将目录更改为该目录 程序完成后 我希望 shell 位于该目录中 所以我想实施cd命令 但需要外部程序 可以在 python 脚本中完成还是我必须编写 bash 包装器 Example t
  • 如何检查主机是否在您的known_host ssh中

    我的脚本中使用以下命令 将主机添加到 ssh 中的已知主机 VAR2 expect c spawn ssh o StrictHostKeyChecking no REMOTE HOST USER REMOTE HOST IP expect
  • 等待子进程使用 os.system

    我用了很多os system在 for 循环内调用创建后台进程 如何等待所有后台进程结束 os wait告诉我没有子进程 ps 我使用的是Solaris 这是我的代码 usr bin python import subprocess imp
  • 如何使用 sed 从输出字符串中(仅)提取 Nginx 版本号? [复制]

    这个问题在这里已经有答案了 我陷入了一个奇怪的情况 我试图用 sed 提取 nginx 的版本 但它不起作用 只有字符串版本有效 root hostname echo nginx v sed n s nginx version nginx
  • 使用 sed 删除带有方括号和引号的模式

    如何使用 sed 删除具有此模式的行 resourceNames I tried sed i resourceNames d sa yaml 文件的一部分看起来像这样 apiGroups resources secrets resource
  • npx:shell-auto-fallback 参数已被删除

    老实说 我不记得我最后在我的机器上安装了什么 我相信它正在酝酿 gatsby cli 无论如何 从昨天早上开始 当我打开新实例或重置终端 打开新选项卡 源 zshrc 等 时 我的终端一直给出以下错误 Last login Tue Nov
  • 更改 iterm2 中的用户名、主机名和路径颜色

    如何更改 iTerm2 中的用户名 主机名和路径颜色 我正在使用内置的 Solarized 配色方案 In Ubuntu the same built in colorscheme is highlighted like In iTerm2
  • CMake的execute_process和任意shell脚本

    CMake s execute processcommand 似乎只让你执行一个进程 而不是你可以输入命令 shell 的任意行 问题是 我想使用管道 文件描述符重定向等 但这似乎不可能 另一种选择对我来说会非常痛苦 我认为 我应该怎么办
  • c - 后台运行的程序的退出状态

    我有一个任务 其中我必须创建一个迷你 shell 它能够执行很多操作 包括作业控制 我设法使用 fork 和 execvp 创建新的工作 但我还想获取 execvp 运行的程序的退出代码 根据我从其他帖子中查找到的内容 我可以使用以下方法来
  • 过滤 stderr 并获取初始返回代码

    在 shell 脚本中 我必须运行一个命令 我需要确定返回码是什么 但事实证明该命令的输出会发送到 stderr 并且还会输出用户的密码 不幸的是 这是命令的一个参数 不好 我知道 我至少想过滤掉密码 使其不被显示回来 cmd OPTION

随机推荐

  • 如何在 Cocoa/Objective-C 中编写简单的 Ping 方法

    我需要写一个简单的pingCocoa Objective C 中的方法 它还需要在 iPhone 上运行 我找到了一个使用的例子icmp 这适用于 iPhone 吗 我倾向于使用解决方案NSNetServices 这是一个好主意吗 该方法只
  • 另一个 GitHub 帐户错误地推送到 GitHub

    我有一个名为的本地存储库a它已经与名为的远程存储库关联AGitHub 帐户的A github 我还有一个名为的本地存储库b尚未与任何远程存储库关联 我创建了一个名为的新远程存储库BGitHub 帐户的B github 我尝试第一次推动B从本
  • 如何区分不存在的服务或缺乏记录?

    我正在制作一些 REST 服务 当我实现 GET 请求时 我正在讨论如果那里没有记录我应该做什么 例如 profile 1234 现在 如果您尝试使用 profiles 1234 注意配置文件上的 s 这肯定是 404 代码 因为肯定找不到
  • Unity iOS 支持,安装失败

    我正在尝试使用 Unity 创建一个 iOS 应用程序 我使用 Unity Hub 安装 Unity 然后我打开 Unity 转到 文件构建设置 我点击 iOS 它显示 未加载 iOS 模块 所以我点击了 打开下载页面 我下载了UnityS
  • 在页面加载之前显示加载图标?

    我想向用户显示一个加载图标 直到页面元素完全加载 我怎样才能用 javascript 做到这一点 并且我想用 javascript 而不是 jquery 做到这一点 Here https www googlesciencefair com
  • AsyncTask、RejectedExecutionException 和任务限制

    我正在使用 AsyncTask 从远程服务器获取大量缩略图并在网格视图中显示它们 问题是 我的网格视图一次显示 20 个缩略图 因此创建 20 个 AsyncTasks 并启动 20 次执行 每个缩略图一次 I get RejectedEx
  • Rails:为什么 find(id) 在 Rails 中引发异常? [复制]

    这个问题在这里已经有答案了 可能的重复 当 id 1 不存在时 Model find 1 给出 ActiveRecord 错误 https stackoverflow com questions 4966430 model find1 gi
  • 如何在地图上找到对角线周围的边界矩形? (地理位置)

    用户在地图上画一条线 并希望查找该线特定距离内的一些信息 我有A and B地点位于 经纬度 格式 用户告诉我距离 A和A1之间的距离 in 米 公里 我该如何计算A1 A2 B1 B2地点位于 经纬度 格式 我正在使用 C 并且坐标锐利
  • 如何将图标添加到 NSMenuItem 的右侧

    我正在尝试将一些图标添加到菜单项旁边的菜单右侧 最好是合理的 我知道 NSMenuItem 允许您添加菜单项 例如 请参阅菜单疯狂 http developer apple com library mac samplecode MenuMa
  • XCTest 输出到文件

    我可以使用运行 XCTestsxcodebuild test命令 但是当我运行这个命令时 它会输出构建日志 然后最后会输出测试日志 有没有一种方法可以仅将测试的输出 无构建日志 重定向到单独的文件 我在 xcodebuild 命令中找不到任
  • 使用 jsPDF 将 HTML 表格导出为包含多列的 PDF

    我想链接这个没有任何答案的问题 使用 jsPDF 将 HTML 表格导出为 PDF 格式 https stackoverflow com questions 24414643 exporting html table to pdf with
  • 为什么linux多架构使用x86_64-linux-gnu而不是lib64?

    我最近在部署 32 位和 64 位库时遇到了 Linux 中的多架构 出于好奇 为什么 lib64 被放弃而有利于例如 lib x86 64 linux gnu 看似过于复杂 但一定有其原因 长版本可以在以下位置找到http wiki de
  • 如何开始构建 Mac 应用程序

    我是一名 Python Web 程序员 现在 我想转向构建 Mac 应用程序 请告诉我 我需要学习什么才能开始 你会推荐什么书 假设您在考虑到 python 标签将被解释为适用于问题而不是提问者后添加了 python 标签 那么您一定有兴趣
  • Android 中的 switch-case 中可以使用条件语句吗?

    在我的搜索中 我似乎无法找到直接的是或否的答案 在Android中 有没有办法在case switch中使用条件语句 例如 年龄是一个 int 值 switch age case gt 79 Do this stuff break case
  • 如何创建依赖于普通变量、函数或逻辑的 ember 属性?

    问题 我正在为 emberjs 制作传单视图 但遇到了一些问题 Leaflet是一个外部库 与问题有些无关 但只需知道它是一个映射库即可 考虑一个简单的属性 例如缩放级别 Leaflet 地图实例具有可通过以下方式访问的缩放级别map ge
  • 如何更改 Laravel 5 中的视图文件夹?

    我正在使用 Laravel 5 和 AngularJS 开发一个 Web 应用程序 我在客户端使用纯 angularJS 应用程序 并将客户端应用程序文件 视图 放在我的public folder 在 Laravel 4 中 我可以更改路径
  • 气流+芹菜或dask。为了什么,什么时候?

    我阅读了 Airflow 官方文档下列 https airflow apache org configuration html scaling out with celery 这究竟意味着什么 作者所说的横向扩展是什么意思 那是 when
  • 在引导模式中动态加载角度分量

    我正在尝试制作一个可重复使用的quickView我的应用程序中的模态使用动态加载任何组件ng bootstrap 模态库 https ng bootstrap github io components modal examples 就我加载
  • React Router 在重新加载时起作用,但在单击链接时不起作用

    我已经设置了 Reactreact router版本 4 当我直接在浏览器上输入 URL 时 路由会起作用 但是当我单击链接时 浏览器上的 URL 会发生变化 例如http localhost 8080 类别 http localhost
  • “管道标准错误,而不是标准输出”在 Zsh 中不起作用

    如何通过管道传输 stderr 而不是 stdout https stackoverflow com questions 2342826 how to pipe stderr and not stdout完美地捕捉了我的问题 第一个答案正是