舷Kelvin 2023-04-06 23:41 采纳率: 61.5%
浏览 13
已结题

请问go run receive_logs.go > logs_from_rabbit.log是个什么语法?

学rabbitmq的时候看到这么个语法

go run receive_logs.go > logs_from_rabbit.log

顾名思义应该是将控制台内容输出到指定的文件的,因为源码里没有任何os包或者文件操作相关的代码,应该是go run参数自带的规则,但是始终找不到相关知识点。
而且这段官方源码我跑起来后也只有空的logs_from_rabbit.log文件,并不会记录控制台的内容。

相关教程https://www.rabbitmq.com/tutorials/tutorial-three-go.html
源码:https://github.com/rabbitmq/rabbitmq-tutorials/blob/main/go/receive_logs.go

img

  • 写回答

2条回答 默认 最新

  • 舷Kelvin 2023-04-07 14:42
    关注

    这里转发一下群友Huan的回答——

    这段代码中 > 符号实际上是 Shell 命令的一部分,而非 Go 语言的一部分。它的作用是将命令的输出重定向到指定的文件中。

    具体来说,在这个命令中:

    • go run receive_logs.go: 运行 Go 代码 receive_logs.go
    • > logs_from_rabbit.log: 将程序输出到标准输出(也就是控制台)的内容,重定向到指定的文件 logs_from_rabbit.log 中。

    这个命令使用了 Shell 的重定向特性,将程序的输出保存到文件中。需要注意的是,这只适用于在 Shell 或类似环境中执行的命令,如果将这个命令直接作为 Go 程序的参数调用,则不会起到重定向的作用。

    如果你想了解更多有关 Shell 命令重定向的信息,可以查看这里:https://www.gnu.org/software/bash/manual/html_node/Redirections.html

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月15日
  • 已采纳回答 4月7日
  • 创建了问题 4月6日

悬赏问题

  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?