小编Vit*_*ner的帖子

将stdout的COPY重定向到bash脚本本身的日志文件

我知道如何将stdout重定向到文件:

exec > foo.log
echo test
Run Code Online (Sandbox Code Playgroud)

这会将'test'放入foo.log文件中.

现在我想将输出重定向到日志文件并将其保存在stdout上

即它可以从脚本外部轻松完成:

script | tee foo.log
Run Code Online (Sandbox Code Playgroud)

但我想在脚本本身内声明它

我试过了

exec | tee foo.log
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

bash shell logging redirect

224
推荐指数
6
解决办法
14万
查看次数

有没有办法在vim中显示最后一个命令的输出?

当我运行一个shell命令时,它要求在结尾处输入ENTER,一旦你输出,就会隐藏输出.有没有办法再次看到它而没有再次运行命令?

还有一些内部命令make也运行外部命令,那些甚至不会停止为ENTER所以如果我的'编译器'设置中有错误,命令会在屏幕上闪烁太快而无法看到它.如何查看命令及其输出?(quickfix为空)

UPDATE

输出肯定还在那里.至少在终端vim上.如果我打字

:!cat
Run Code Online (Sandbox Code Playgroud)

上一个命令的输出仍然存在.问题是a)它似乎太像一个黑客,我正在寻找一个适当的vim方式b)它不适用于gui vim

vim

43
推荐指数
5
解决办法
2万
查看次数

如何将枚举引用转换为数字?

我有一个枚举:

enum Foo {
    Bar = 1,
}
Run Code Online (Sandbox Code Playgroud)

如何将对此枚举的引用转换为要在数学中使用的整数?

fn f(foo: &Foo) {
    let f = foo as u8;  // error[E0606]: casting `&Foo` as `u8` is invalid
    let f = foo as &u8; // error[E0605]: non-primitive cast: `&Foo` as `&u8`
    let f = *foo as u8; // error[E0507]: cannot move out of borrowed content
}
Run Code Online (Sandbox Code Playgroud)

rust

20
推荐指数
1
解决办法
8672
查看次数

我需要一个关于RPG游戏的RESTful库存API实现的想法

我正在开发一种RPG游戏.我正在尝试找出一种很好,干净且RESTful的方式来定义库存API.

库存由几slotshead,chest等等(就像大多数RPG游戏).

现在我需要定义REST API以将所有项目从插槽X移动到插槽Y.

我的想法很少:

  • 好吧,显然库存仍然存在 /inventory
  • 因此,第一个想法就是让人喜欢/inventory/movementCREATE制作它CRUD.所以它会POST /inventory/movement.这将是CRUD和REST,但感觉非常糟糕.
  • 另一个是在库存上有一些神奇的属性,只是对它进行更新:PUT /inventory?move_from=A&move_to=B.这仍然感觉不太好.

所以..对于这个干净的CRUD REST解决方案的任何想法?

更新:刚才有另一个:PUT /inventory/:to_slot?from=:from_slot- 还不确定.当涉及2时,为什么只对一个插槽采取行动?嗯......唉!

api rest ruby-on-rails crud

10
推荐指数
1
解决办法
1133
查看次数

对于使用粘贴进行常规搜索,//的映射表现得很奇怪

我有一个映射使用//作为项目中的全局git搜索在光标下的单词:

nmap // :let @/="...
Run Code Online (Sandbox Code Playgroud)

问题是,在我添加此映射后,当我尝试粘贴搜索词时,常规搜索表现得很奇怪.即如果我点击/然后粘贴(Mac上的Apple-v)我会得到以下内容:

/<t_<fa>X>
Run Code Online (Sandbox Code Playgroud)

更新.

什么是确切的映射并不重要.例如,只需尝试以下操作:

map // echo "test"<cr>
Run Code Online (Sandbox Code Playgroud)

现在输入//,您将test在状态栏中看到.

现在输入/并立即点击粘贴.我明白了

/<t_<fa>X>
Run Code Online (Sandbox Code Playgroud)

vim

8
推荐指数
1
解决办法
137
查看次数

如何从泊坞窗图像中删除ENV设置

我有一个docker图像设置HOME和PATH:

[{
  ...
  "config": {
    "HOME=/",
  }
  ...
Run Code Online (Sandbox Code Playgroud)

我知道我可以替换它,但是可以删除它(并且可以使用正常的bash配置文件设置).我宁愿不破解shell配置文件来覆盖它.

docker

8
推荐指数
2
解决办法
1万
查看次数

nodejs:是否可以使用runInNewContext来评估js代码并将其执行时间限制为超时?

我想在node.js中使用runInNewContext执行不受信任的js代码,但据我所知,没有办法限制其执行时间.它也是一个同步操作.有没有办法设置它的超时或它的异步版本,这将允许我从"外部"控制它的执行?

更新:在外部进程中运行并不好:

  • 需要太多资源
  • 更重要的是,我需要代码通过沙箱环境访问我的数据/代码

node.js

7
推荐指数
1
解决办法
4580
查看次数

delayed_job就像python的队列一样

我需要一个队列来将数据从ruby发送到python

该系统是一个带有Ruby前端和python后端的应用程序,我宁愿不添加另一个复杂的部分.如果它只是红宝石,我只会选择delayed_job,但ruby-> python更难.

所以

我正在为python 寻找一个简单的基于数据库的队列(类似于delayed_job),我计划破解一个红宝石"生产者"部分.

或者只是让我惊讶于一个我还没有想到的解决方案.

ruby python queue message-queue

5
推荐指数
1
解决办法
1909
查看次数

nodejs是否有基于cookie的会话存储(connect,express)?

在rails中,默认会话存储使用cookie.会话被封送并使用密钥签名,以便客户端无法使用它进行调整.这种方法非常可扩展,不需要任何类型的"后端"工作.

对于Express或Connect,我找不到类似的东西.

node.js express

5
推荐指数
1
解决办法
7150
查看次数

在浏览器中从flash录制mp3的最简单/最好的方法是什么?

我需要使用flash从网络浏览器录制音频片段并将其作为mp3文件存储在S3上.该应用程序是用Ruby on Rails编写的,但我认为它在这里并不太相关.

几年前我们已经在另一个项目中做过一次.当时我们通过编写自定义扩展到Red5媒体服务器+一些cron作业来上传mp3.

我们并不喜欢Red5,所以这次我想看看是否有更简单的选择.

我们不需要流式传输,也不需要视频.只需简单的录音到mp3格式.

flash mp3 flash-media-server

3
推荐指数
1
解决办法
2255
查看次数

如何正确注册nginx头过滤器?

我正在写一个nginx模块.从查看其他示例我在我的模块postconfiguration钩子中注册我的头文件过滤器:

static ngx_int_t
mod_py_postconfig(ngx_conf_t *cf)
{
    ngx_http_next_header_filter = ngx_http_top_header_filter;
    ngx_http_top_header_filter = mod_py_headers_filter;
    return NGX_OK;
}
Run Code Online (Sandbox Code Playgroud)

但是从不调用处理程序.我在ngx_http_top_header_filter更改中在gdb中设置了一个断点,看起来我的模块的postconfig首先被调用,但是然后运行ngx_http_write_filter_module的postconfig,它会覆盖ngx_http_top_header_filter而不存储旧值:

static ngx_int_t
ngx_http_write_filter_init(ngx_conf_t *cf)
{
    ngx_http_top_body_filter = ngx_http_write_filter;

    return NGX_OK;
}
Run Code Online (Sandbox Code Playgroud)

看起来它被设计为最后一次调用,那么为什么我的模块的postconfig首先被调用?

从我所看到的,模块的顺序在objs/ngx_modules.c中设置

我能够通过手动重新排序那里的模块来解决这个问题,以便我的模块在ngx_http_header_filter_module之后,但这感觉就像一个丑陋的黑客,并且也很难自动化构建过程,因为./configure每次都会覆盖这个文件.

nginx

2
推荐指数
1
解决办法
1389
查看次数