如何知道用户何时将输出从 erlang shell 重定向到文件

2023-12-19

我有一个示例模块



    -module(helloworld).
    -compile(export_all).

    main() -> io:format("~s~s~s~n",["\e[31m","Hello world!","\e[0m"]).
  

当我构建时:



erlc helloworld.erl
  

之后,我运行:



erl -noshell -s helloworld main -s init stop
Hello world! (with red color)
  

 
erl -noshell -s helloworld main -s init stop > text.txt
^[[31mHello world!^[[0m (The content in text.txt is ugly, so I don't like).
  

我的问题是:

  1. 如何知道用户何时将输出从 erlang shell 重定向到文件?
  2. 我怎样才能将内容写入text.txt“Hello world!”不是“^[[31m你好​​世界!^[[0m”

Thanks.


看看http://www.erlang.org/doc/man/init.html#get_arguments-0 http://www.erlang.org/doc/man/init.html#get_arguments-0,您可以检查是否存在“noshell”标志,并相应地采用输出。

[{root,["/opt/local/lib/erlang"]},{progname,["erl"]},{home,["/Users/..."]},{noshell,[]}]]},{helloworld,main,0},{init,start_it,1},{init,start_em,1}]

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

如何知道用户何时将输出从 erlang shell 重定向到文件 的相关文章

  • 基于代理/参与者的并发设计的设计模式[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 最近 我一直在研究支持参与者 代理 无共享架构的替代语言 即 scala clojure 等 clojure 也支持共享状态 到目前为止 我读过
  • 当在 erlang 模块上调用“new”时,它会做什么?

    我见过 Erlang 代码中使用了 module name new 但是 module name 模块中没有引用 new 函数 新 有什么作用 它用于 参数化模块 参见here http yarivsblog com articles 20
  • Erlang 中事件流(又名 CEP)的实时关联/分析有什么框架吗?

    想要分析具有某些特征 例如公共来源 的事件流 并在给定的时间窗口内 最终将这些多个事件关联起来并从中得出一些推论 最后启动一些操作 我对复杂事件处理 CEP 的有限了解告诉我 它是此类事情的理想选择 然而 在我迄今为止的研究中 我发现人们将
  • Erlang 进程和消息传递架构

    我手头的任务是读取大文件的行 处理它们 并返回有序结果 我的算法是 从评估工作负载的主进程开始 写在文件的第一行 生成工作进程 每个工作进程将使用 pread 3 读取文件的一部分 处理这部分 并将结果发送给 master master接收
  • 对列表中的 Erlang 记录进行排序?

    我在erlang中有一条记录 record myrec id 0 price 0 quantity 0 然后 我有一个记录列表 我想按 id 和价格按降序和升序排序 其中价格是第一个键 如果两个记录具有相同的价格 我想按 id 对它们进行排
  • 如何返回元素的个数?

    我必须编写一个函数 它接受一个整数列表作为参数并返回列表中小于 1 的整数的数量 到目前为止 我所拥有的是一个仅返回列表中的整数个数的函数 我不确定应该在哪里 是否放置 if 语句和计数器以仅返回有多少个整数小于 1 export num
  • 与共享数据相比,消息传递的性能损失

    最近有很多关于不使用锁和使用 Erlang 等消息传递方法的讨论 或者关于使用不可变的数据结构 例如函数式编程与 C Java 中的比较 但我关心的是以下几点 AFAIK Erlang 不保证消息传递 消息可能会丢失 如果还要担心消息丢失
  • 有没有办法对默认记录值进行查找?

    给定一个记录 record something id integer name string email undefined string undefined 有没有办法获取字段的默认值 在本例中得到的事实是 something email
  • 您应该将应用程序属性放在 rebar erlang 应用程序中的什么位置?

    新手问题 我编写了第一个基于 rebar 的 erlang 应用程序 我想配置一些基本属性 例如服务器主机等 放置它们的最佳位置在哪里以及如何将它们加载到应用程序中 接下来的步骤是发布版本并在其中创建节点 节点在独立的 Erlang VM
  • 零部署 CouchDB 嵌入 Windows 应用程序?

    我可能在这里做梦 但我想知道是否有可能将最小的 CouchDB 引擎完全嵌入到 Windows 应用程序中 以便该应用程序可以运行而无需在用户计算机上安装 CouchDB Erlang 我已经提供了这种精简 捆绑的功能 请在此处查看http
  • 在 Erlang 中展平嵌套列表的列表

    我正在做练习Erlang编程 问题是 编写一个函数 给定一个嵌套列表的列表 该函数将返回一个平面列表 例子 flatten 1 2 3 4 5 6 1 2 3 4 5 6 提示 使用concatenate解决flatten 这是我的conc
  • 如何使用 ibrowse 将附件上传到 CouchDB 中的文档?

    我已经使用curl上传图像文件Penguins jpg 例如 C curl gt curl vX PUT H Content Type image jpeg http localhost 5984 DBNAME DOCID Penguins
  • 如何修改erlang中的记录?

    我需要修改操作记录中的值 place 和 other place op action walk from place to other place preconds at place me on floor me other place p
  • 如何限制Erlang VM(BEAM)使用的核心数量?

    我正在具有 2 个四核 Xeon E5520 2 2GHz 24 0GB RAM 和 Erlang R15B02 启用 SMP 的节点上运行实验 我想知道是否可以限制Erlang VM使用的核心数量 以便我可以暂时禁用一些核心并逐步增加数量
  • Erlang:如何将原子转换为字符串?

    我想从原子转换为字符串 Input hello world Output hello world 我该如何实现这一目标 Use atom to list http erlang org doc man erlang html atom to
  • Erlang 如何睡觉(晚上?)

    我想在 Erlang 服务器上每隔几个小时运行一次小型清理过程 我知道计时器模块 我在教程中看到一个示例 使用链式计时器 睡眠命令来等待几天后发生的事件 我觉得这很奇怪 我知道 Erlang 进程与其他语言中的进程相比是独一无二的 但是进程
  • Erlang gen_tcp 连接问题

    简单的问题 这段代码 client gt SomeHostInNet localhost to make it runnable on one machine ok Sock gen tcp connect SomeHostInNet 56
  • 如何在 erlang 中安装模块?

    我是 Erlang 新手 想知道如何安装第三方模块以在我的 Web 应用程序中使用 您将这些文件放在哪里以及执行什么类型的命令 如果您希望在系统范围内安装第 3 方库 例如 Mochiweb 最好将其设置在 ERL LIBS 环境变量下 我
  • Erlang 中的非终止函数类型

    我正在学习 Erlang 并尝试使用 Dialyzer 在可能的情况下获得最大的类型安全性 有一点不太明白 什么是类型非终止的函数以及如何表示它 spec 有人能解释一下吗 永远循环且永不终止的函数具有返回类型no return 该返回类型
  • 如何在erlang中读取mnesia数据库的所有记录?

    我是 erlang 新手 我需要对从 mnesia 数据库获取的所有记录进行一些操作 Result mnesia dirty read mydatabase key1 key2 case Result of gt DEBUG No such

随机推荐

  • 如何重写子类的 swift 协议函数(例如 UIView 中的 UILabel)

    我正在尝试实现一个扩展函数 该函数应该根据使用它的类的类型而有所不同 这些对象必须是 UIView 或子类 它应该始终使用在指定类型上扩展的函数 但如果它不符合其中任何一个 则应该使用 UIView 方法 作为后备 这是我正在尝试做的事情的
  • 如何在循环中构建动态 AND OR linq 表达式树

    继从previous https stackoverflow com questions 9718805 how to build a dynamic linq expression tree in a loop 9718896 97188
  • 如何在 Spring boot 2 + Webflux + Thymeleaf 中配置 i18n?

    我刚刚开始一个基于 Spring boot 2 Webflux 的新项目 关于spring boot版本升级及替换spring boot starter web with spring boot starter webflux像这样的课程
  • 在运行时动态更新规则。流口水+弹簧靴

    所以目前我正在练习将 Drools 7 13 0 Final 与 Spring boot 1 5 12 RELEASE 一起使用 我用以下类在 Spring boot 中制作了一个示例应用程序 模型 TaxiFare java Data p
  • GC规则:如何判断一个java对象是否适合垃圾回收

    任何人都可以向我指出一组已定义的规则 以找出 Java 对象垃圾收集的资格以及一个简单的示例 对象一旦不再存在就可以进行 GC可达的来自任何线程 如果满足以下任一条件 则可以从另一个对象 A 访问对象 O A 引用了 O 或者 A 具有对
  • 将临时字符数组转换为 D 中的字符串

    我正在学习 D 语言 我很了解 C 我想做一些 Windows 特定的东西 所以我写这个只是为了尝试 API import core sys windows windows import std stdio string name char
  • Cosmos DB:网关无法直接服务跨分区查询

    知道为什么当我使用其余 api 在 Cosmos DB 中执行下面的查询时 我收到以下错误 没有 order by 的相同查询工作正常 我已经设置了标题 x ms documentdb query enablecrosspartition
  • 如何将 pd.concat 与未启动的数据帧一起使用?

    我希望能够在数据帧结果通过一个函数时将它们连接到内存中 并最终得到一个只有结果的全新数据帧 在函数之前没有准备好数据帧的情况下 如何执行此操作 例如 import pandas as pd import numpy as np rand d
  • 当以双精度形式传递浮点值时,双精度

    我对双精度有疑问 当将浮点值传递给双精度时 我会得到一些不同的结果 例如 float f 54 23f double d1 f System out println d1 输出为 54 22999954223633 有人可以解释这种行为背后
  • ASP.NET Web API 2 文件上传

    我想知道如何最好地处理文件上传以及添加到要使用 ASP NET Web API 2 上传的文件而不使用 MVC 组件的附加信息 我用谷歌搜索了网络 我可以告诉你我比我想象的更困惑 附加信息将存储在数据库和磁盘上的文件中 到目前为止 我正在构
  • 在单独的进程中运行 python

    我正在寻找一个快速的 bash 脚本或程序 它允许我在单独的进程中启动 python 脚本 最好的方法是什么 我知道这非常简单 只是好奇是否有首选方法 只需使用与号 即可在后台启动 Python 进程 Python 已经在与 BASH 脚本
  • 如何使用 asp.net http 客户端使用 retry-after 标头来轮询 API

    我对在 net 中使用 http 客户端进行 RESTful 消费不太熟悉 并且在轮询外部 API 时无法理解如何使用 retry after 标头 这是我目前必须调查的 HttpResponseMessage result null va
  • cURL 不会提示我使用 GitHub API 输入密码

    我正在跟进GitHub 的教程 https developer github com guides getting started 关于使用他们的 API 在我的 Git Bash 命令提示符中 我输入以下内容 curl i https a
  • 裁剪后,fabricjs 将裁剪的对象设置为画布的背景

    在我的fabricjs中 我正在制作画布并向其添加图像并将图像设置为背景 然后我将卡瓦斯剪裁到一定的宽度和高度 裁剪画布后 我想要一个新的画布或以裁剪区域作为背景的相同画布 全部覆盖画布的宽度和高度 或者可以使用裁剪区域的高度和宽度制作新画
  • 如何为 Android API 级别 <11 实现 CursorLoader

    我有一个包含许多列表活动 其中 5 6 个 的应用程序 并且所有活动都有来自我自己的 ContentProvider 2 的自定义游标适配器 位于 Sqlite 数据库 2 上 现在的问题是 我想实现 CursorLoader 或类似 类来
  • 将多个对象放入 HttpParams

    我在表单控件中有一些类别 我将它们发送到一个字符串数组中 如下所示 1 4 6 这是我的实际代码 let categoryIds new Array
  • 重复播种随机数生成器是合理的哈希函数吗?

    我希望生成大量随机数据 这些数据对于给定的情况是可重现的key 包含一个数字列表 a b c d e 以下是让 RNG 进入生成随机数据的状态的好方法还是明智的方法 这样对于每个 n 元组 a b c n 该数据与 相邻 n 元组的输出不相
  • TFS2008到TFS2010迁移升级

    All 我目前正在尝试创建一个可重复的过程 将 TFS 2008 安装升级到新硬件 Microsoft 称为迁移升级 但在新硬件上构建 VS 2008 项目时遇到问题 我们的 TFS 2008 安装由两台机器组成 一个包含 SQL 数据库和
  • ChartJS - 具有多个环的圆环图

    是否可以使用 ChartJS 创建具有多个环的圆环图 如下所示 您可以在以下位置找到解决方案小提琴链接 https jsfiddle net zuupzpLL var ctx document getElementById chart ar
  • 如何知道用户何时将输出从 erlang shell 重定向到文件

    我有一个示例模块 module helloworld compile export all main gt io format s s s n e 31m Hello world e 0m 当我构建时 erlc helloworld erl