Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >预挂起然后重定向

预挂起然后重定向
EN

Stack Overflow用户
提问于 2020-03-02 06:57:37
回答 4查看 107关注 0票数 0

我想将stderr重定向到一个用于日志记录的文件:

代码语言:javascript
代码运行次数:0
复制
2>> "$logFile"

如何在每一行前面加上字符串"error: "

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-03-02 07:14:03

您可以使用进程替换。

代码语言:javascript
代码运行次数:0
复制
2> >(awk '{print "error: " $0}' >> "$logfile")

或者使用具有损坏的进程替换支持的旧shell:

代码语言:javascript
代码运行次数:0
复制
{ { prog >&3; } 2>&1 | sed 's/^/error: /' >> "$logfile"; } 3>&1

这里我们将prog的stdout保存到fd3,通过管道将其stderr传递给sed,最后将fd3恢复回stdout。

票数 1
EN

Stack Overflow用户

发布于 2020-03-02 07:43:24

另一个选项是sed

代码语言:javascript
代码运行次数:0
复制
2> >(sed -u 's/^/error: /' >> "$logfile")

只使用bash内置可能是不可能的,因为这种为字符串添加前缀的机制需要与流一起使用。

注使用gnu sed option -u (--unbuffered)从输入文件加载最少量的数据,并更频繁地刷新输出缓冲区。

Code Demo

票数 2
EN

Stack Overflow用户

发布于 2020-03-02 07:54:31

一个纯Bash版本:

代码语言:javascript
代码运行次数:0
复制
2> >(while read -r line ; do echo "error: $line" ; done >> "$logFile")

..。..。..。但请注意,如果程序写入任何空字节,或者如果程序没有在最后一行之后写入换行符,这将是错误的。(这两个问题都是可以解决的,但在某种程度上,我们不得不质疑仅仅是为了避免调用awk或sed是否值得。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60483901

复制
相关文章
java命令不是内部或外部命令_运行cmd不是内部或外部命令
在生成Java头文件时报错,经查询发现新版的Java不使用javah的命令了,而是使用javac -h 用法:
全栈程序员站长
2022/11/08
9960
python 执行外部命令
1、os.system(command)或者os.popen(..........)
py3study
2020/01/07
9910
python调用外部命令
os.popen4: 返回2个对象,pip_in 和pip_out_err(标准输出和标准错误输出保存到一个输出pip_out_err)
py3study
2020/01/06
1.2K0
Python调用外部系统命令
利用Python调用外部系统命令的方法可以提高编码效率。调用外部系统命令完成后可以通过获取命令执行返回结果码、命令执行的输出结果进行进一步的处理。本文主要描述Python常见的调用外部系统命令的方法,包括os.system()、os.popen()、subprocess.Popen()等。
Python学习者
2023/07/04
2730
Lua 调用外部系统脚本返回值问题
注意,我们脚本的return的内容不会有效,我们直接print(写在返回文件流的内容)即可!
收心
2022/12/01
1.2K0
Python 执行Shell 外部命令
1、os.system() 此方法执行的外部程序,会将结果直接输出到标准输出。os.system的返回结果为执行shell 的 $? 值。 因此请执行没有输出结果的程序时适合使用此方法。如touch
py3study
2020/01/07
1.2K0
python 外部命令执行--OS
 Python 也可以通过os、subprocess执行外部shell命令对POSIX类型系统进行操作。
py3study
2020/01/08
3180
php执行系统外部命令
提供4种方法: - exec()、passthru()、system()、 shell_exec()。 在开始介绍前,先检查下php配置文件php.ini中是有禁止这是个函数。找到 disable_functions,配置如下: disable_functions = 如果"disable_functions="后面有接上面四个函数,将其删除。 默认php.ini配置文件中是不禁止你调用执行外部命令的函数的。 方法一:exec() function exec(string $command,array
猿哥
2019/08/01
1.1K0
cmd命令ping不是内部或外部命令_ping命令次数
介绍ping命令是一个用来测试能不能与另一台主机交换数据包的命令,通常我们会用ping命令测试域名可达性。
全栈程序员站长
2022/11/08
1.7K0
VisualStudio 自定义外部命令
通过自定义命令,可以在 VisualStudio 加上一些自定义命令,可以快速启动 git 或者做其他的事情
林德熙
2018/09/19
7550
VisualStudio 自定义外部命令
003-golang 调用外部命令
exec包执行外部命令,它将os.StartProcess进行包装使得它更容易映射到stdin和stdout,并且利用pipe连接i/o.
上善若水.夏
2018/09/28
1.1K0
安全漏洞公告
WordPress '/wp-admin/options-discussion.php'脚本跨站请求伪造漏洞 WordPress '/wp-admin/options-discussion.php'脚本跨站请求伪造漏洞发布时间:2014-01-03漏洞编号:BUGTRAQ ID:64564 CVE ID:CVE-2013-7233漏洞描述:WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设自己的网志。 WordPress存在跨站请求伪造漏洞。允许
安恒信息
2018/04/10
1.2K0
nc命令卡住不返回的分析
这两天排查解决了一个问题,问题的解决其实很简单,但是整个分析过程还是很有意义的,本文对整个分析过程以及问题如何解决进行总结。
陈猿解码
2023/02/28
2.7K0
nc命令卡住不返回的分析
Go 语言中执行外部命令的方法
此包的详细文档见 exec package - os/exec - pkg.go.dev,这里只介绍几种常用操作。
赵云龙龙
2022/03/29
1.6K0
pytest重试_pytest不是内部或外部命令
要重新运行所有测试失败的用例,请使用--reruns命令行选项,并指定要运行测试的最大次数:
全栈程序员站长
2022/09/16
5540
Go中调用外部命令的几种姿势
在工作中,我时不时地会需要在Go中调用外部命令。前段时间我做了一个工具,在钉钉群中添加了一个机器人,@这个机器人可以让它执行一些写好的脚本程序完成指定的任务。机器人倒是不难,照着钉钉开发者文档添加好机器人,然后@这个机器人就会向一个你指定的服务器发送一个POST请求,请求中会附带文本消息。所以我要做的就是搭一个Web服务器,可以用go原生的net/http包,也可以用gin/fasthttp/fiber这些Web框架。收到请求之后,检查附带文本中的关键字去调用对应的程序,然后返回结果。
用户7731323
2022/11/16
1.4K0
Go中调用外部命令的几种姿势
【说站】Python脚本如何调用外部命令
这很好,因为实际上可以以这种方式一次运行多个命令并设置管道和输入/输出重定向。例如:
很酷的站长
2022/11/24
7540
【说站】Python脚本如何调用外部命令
用talib实现基于emv的简易量化投资策略
前两天看到一篇论文《基于EMV指标的量化交易策略在我国A股市场的研究》,想想看我们学习talib中居然没有这个指标,至少目前还没碰见。作者通过EMV指标实现了年化20%的收益。对于一个本着学习目的的我来说,学一学EMV指标确实挺好。想想看要是自己也能开发这样一套系统的话,想想都觉得美滋滋。但毕竟咋不是专业的,野路子就要咋不断的动手了,希望黄天不负有心人吧!
写一点笔记
2020/11/02
1.8K0
用talib实现基于emv的简易量化投资策略
PopupWindow 点击外部和返回键无法消失背后的真相(setBackgroundDrawable(Drawable background))
本文主要分析了Android PopupWindow弹出层组件的一些实现细节,包括背景透明,自定义布局,以及与其他View组件的交互。同时,也介绍了一些在开发过程中需要注意的点,以及提供了相关示例代码。
用户1155943
2018/01/04
1.9K0
PopupWindow 点击外部和返回键无法消失背后的真相(setBackgroundDrawable(Drawable background))
java环境配置 | cmd命令 java正常,javac不是内部或外部命令
ava环境配置 | cmd命令 java正常,javac不是内部或外部命令 对Java一窍不通的初学者,正准备准备参照着网上的文档配置Java环境。费了九牛二虎之力是装好了,环境也配好了。cmd窗口验证java -version显示正常,输入javac -version提示"javac不是内部或外部命令,也不是可运行的程序"。全网搜索到的信息基本一致。但是最后都没什么卵用。重装卸载N次,依然不得想要的结果。
卢衍飞
2023/02/13
7400
java环境配置 | cmd命令 java正常,javac不是内部或外部命令

相似问题

Java8 -基于POJO更新多个列表

22

Java 8流groupBy pojo

20

Java POJO建模-对象列表与每个对象的多个字段

13

映射多个POJO中的选定字段以创建一个POJO

11

Java : POJO对象的好处

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档