相关疑难解决方法(0)

打开的含义(STDERR,“>&STDOUT”)

我在一个示例脚本中找到了它,然后我从Google搜索并找到了以下单词,

请注意,您不能简单地将STDERR打开为Perl程序中STDOUT的副本,并避免调用Shell进行重定向。这不起作用:

open(STDERR, ">&STDOUT");
Run Code Online (Sandbox Code Playgroud)

之所以失败,是因为open()使STDERR转到open()时STDOUT所在的位置。然后,反引号使STDOUT转到字符串,但不要更改STDERR(仍将其转到旧的STDOUT)。

现在我很困惑。到底是什么意思open(STDERR, ">&STDOUT");

perl io-redirection

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

获取系统调用的错误输出?

当我执行以下操作时:

output = `identify some_file`
output == "Output of identify"
Run Code Online (Sandbox Code Playgroud)

但当...

output = `identify non_existant_file`
output != "Error output of identify"
Run Code Online (Sandbox Code Playgroud)

如何获得系统调用的错误输出?

ruby bash system

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

为什么这个 R 输出没有被重定向?

我使用的是 Ubuntu 14.04。我喜欢使用命令从终端 (bash) 运行 R 脚本Rscript。我喜欢将输出重定向到文件,例如:

\n\n
Rscript some_R_code.R > output.log &\n
Run Code Online (Sandbox Code Playgroud)\n\n

(我喜欢在后台运行它,这就是我使用 & 的原因)。

\n\n

事实上,99% 的输出确实会发送到该文件。但我确实收到了一些奇怪的小信息,但实际上没有。例如:

\n\n
Warning message:\nreplacing previous import \xe2\x80\x98getCall\xe2\x80\x99 when loading \xe2\x80\x98fBasics\xe2\x80\x99 \n
Run Code Online (Sandbox Code Playgroud)\n\n

当我想要将其输出到文件时,它会输出到终端。

\n\n

造成这种情况的原因是什么?如何解决?

\n

bash r

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

2>&1 在shell脚本中有什么用

在 shell 脚本中,1 is file descriptor for standard output2 is for standard error. 现在,由于这两者都指向控制台 2>&1. 他们不是已经指向同一个设备了吗?

shell scripting

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

为什么我的字母表有40个字母?或者为什么放弃STDERR并不总是一个好主意

从0到40,有40步?...用于打印 AZ???

for ((i=000;i<040;i++));do
    echo -e $(eval "printf "\\\\%04o" $((65+0$i)) ");
  done 2>/dev/null |
  xargs

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Run Code Online (Sandbox Code Playgroud)

奇怪!?

共有85个步骤,从70到155:

for ((i=0070;i<0155;i++));do
    echo -e $(eval "printf "\\\\%04o" $((19+0$i)) ");
  done 2>/dev/null |
    xargs
A B C D E F G H I J K L M N O P Q R S …
Run Code Online (Sandbox Code Playgroud)

bash

0
推荐指数
2
解决办法
1748
查看次数

如何捕获 go run main.go 的响应

我有 go 脚本 main.go,我从 shell 脚本中调用它。如果成功,main.go 将返回如下响应。我希望从我调用 main.go 的同一个 shell 脚本中捕获变量中的返回响应

运行 go run main.go 的响应

  No content to read in :/labs/text/11/004/11-004_M0_1_arm_1.d78d350eef91f1e72d801e064a088cf80d3c840a-0023.txt


2023/07/13 04:46:52 /app/lab-processor/src/main.go:201 SLOW SQL >= 200ms
[1267.568ms] [rows:1] SELECT * FROM "pipeline1_2"."p_doc_pp_dates" WHERE filename LIKE '%11-004_M0_1_arm_1.d78d350eef91f1e72d801e064a088cf80d3c840a%' AND pagenumber = 38 ORDER BY begin desc LIMIT 1
Run Code Online (Sandbox Code Playgroud)

第一个响应是当运行第一个文件时没有内容可读取时,第二个响应是当文件中有内容并将其加载到表中时

我试过类似的东西

go run main.go > return_resp
echo $return_resp 
Run Code Online (Sandbox Code Playgroud)

但这并没有多大帮助

shell go

0
推荐指数
1
解决办法
58
查看次数

标签 统计

bash ×3

shell ×2

go ×1

io-redirection ×1

perl ×1

r ×1

ruby ×1

scripting ×1

system ×1