gpt4 book ai didi

bash - 无法将 bash 输出到文件

转载 作者:行者123 更新时间:2023-11-29 09:32:28 25 4
gpt4 key购买 nike

我正在运行 Vowpal Wabbit 守护程序,我使用以下命令启动它:

vw -i X_b123.model -t --quiet --daemon --port 26542 -r /dev/stdout

然后我尝试向守护进程发送一些东西:

echo 'somedataforwovpal' | netcat localhost 26542 -q1

我得到答案,像这样(两行都是答案):

1:-0.0268077 2:-0.0990701 3:-0.154975
2

目前,一切都是完美和正确的。我想要的只是将此输出发送到文件。这就是让我发疯的一点。为什么?通常我会通过将 stdout 发送到这样的文件来做简单的事情:

echo 'somedataforwovpal' | netcat localhost 26542 -q1 > myfile.txt

嗯,这只起到了部分作用。文件已创建,但仅包含第二行输出(仅数字 2)和第一行 1:-0.0268077 2:-0.0990701 3:-0.154975仍然打印到控制台。

所以我的想法是,第二部分是 stderr,所以我尝试了以下几种方法来保存 stderr/stdout 输出:

echo 'somedataforwovpal' | netcat localhost 26542 -q1 2> myfile.txt
echo 'somedataforwovpal' | netcat localhost 26542 -q1 2>&1 > myfile.txt
echo 'somedataforwovpal' | netcat localhost 26542 -q1 &> myfile.txt
echo 'somedataforwovpal' | netcat localhost 26542 -q1 > myfile.txt 2>&1
echo 'somedataforwovpal' | netcat localhost 26542 -q1 >> myfile.txt
script -c "echo '1 |w auto_t dum_qt |f auto_t dum_qt |m qm_pos_2' | netcat localhost 26542 -q1" myfile.txt

没用,还是一样。如您所见,这些方法都没有,我什至尝试过脚本,但仍然相同。这真是把我逼疯了,请问有没有人可以救救我?

最佳答案

绕过正常的重定向是可能的,但通常不是一个好主意。例如:

#! /bin/env bash
echo $* >> $(tty)

运行它有效。

$: bypass foo >log 2>&1
foo

日志中也没有任何内容。

$: ls -l log
-rw-r--r-- 1 P2759474 1049089 0 Nov 7 12:16 log

很抱歉,我没有适合您的解决方案,但这至少可以帮助您了解这是如何发生的。

关于bash - 无法将 bash 输出到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53194996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com