问题标签 [qx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1704 浏览

perl - 如何在 Perl 中更改系统调用的标准输出文件句柄?

我正在尝试使用 select 更改系统函数的标准输出。但它似乎不起作用。系统输出显示在控制台上,而不是重定向到文件。

虽然我可以system "dir /a > out.txt",但我想知道为什么上面的代码不起作用。

0 投票
9 回答
24353 浏览

perl - 如果我使用 backtics 调用 curl 的输出,如何将其输出到 Perl 中的变量中?

我正在尝试将 curl 调用的响应转换为 perl 中的变量。

不起作用。当我在命令行上运行它时,curl 调用会在终端中正确打印其所有输出,但变量没有填充该数据。

有没有办法在不安装和调用 Perl curl 库的情况下做到这一点?

0 投票
1 回答
1317 浏览

perl - 如何为 qx(command) 实现超时?

我如何在这段代码中实现超时:如果“hwinfo --usb”命令在一定时间后没有返回任何内容,(停止命令并)执行返回或从子 _usb_device 死亡。

0 投票
2 回答
1550 浏览

perl - 如何模拟 Perl 的内置反引号运算符?

我想对我的一个使用反引号的 Perl 程序进行单元测试。有没有办法模拟反引号,以便它们执行与执行外部命令不同的操作?

另一个问题显示了我需要什么,但在 Ruby 中。不幸的是,我不能选择在这个项目中使用 Ruby,也不想避免反引号。

0 投票
2 回答
1773 浏览

ajax - 在 perl 中分叉,但从子进程中的系统调用中获取退出状态

我所做的:

  1. 对 cgi 脚本进行 ajax 调用。
  2. Cgi 脚本分叉,但父级立即返回响应消息。
  3. 孩子进行系统调用,但需要退出代码和任何错误消息。

伪代码:

我的问题:

由于 ($SIG{CHLD} = 'IGNORE') 设置为 -1,因此无法从 qx() 获取正确的返回码 ($?) 和任何错误消息。如果我删除 $SIG{CHLD} 语句,客户端网页不会收到来自父级的响应消息,直到孩子被收割之后。

0 投票
3 回答
756 浏览

perl - 如何在 qx 中使用 __FILE__?

我试图在 Perl 脚本的顶部分配一个常量,如下所示:

__FILE__不会在qx运算符内部进行插值,这会导致此操作失败。我怎样才能实现我想要的,即在调用shell__FILE__ 之前插入。readlink

请注意:将命令存储在中间变量中不是一种选择。

0 投票
4 回答
1392 浏览

perl - Perl -> How return value of qx(perl file)

I need to know how is possible return values of Perl file from other Perl file.

In my first file i call to the second file with sentence similar to:

I have tried with exit and return to get this data but is not possible.

Any idea?

0 投票
1 回答
110 浏览

linux - mod_perl2 脚本中的某些二进制文件运行,而其他二进制文件不运行(尽管有 ls 可见性和 +x)

在带有 perl 5.10.1 的 CentOS 6.4 上的 Apache 2.2 上。

我正在尝试从 mod_perl 脚本中获取远程目录列表,该脚本显然(如果我die qx(id))运行为apache. 但我什至无法在ssh没有参数的情况下运行,只是让它打印它的帮助信息。所以这就是我在这个问题中要问的问题 - 这不是ssh无法连接。

死于:

和:

死于:

好的,所以,它可以找到它,看到它,并对其具有执行权限(对于 /usr/bin 和 /usr 也是如此。)但是然后:

死于空数组,所以我尝试了:

...死于:

为什么是这样?我怎样才能得到die qx(ssh)die qx(/usr/bin/ssh)死亡的期望值:

有趣的是,从 bash 提示符中我得到了这个:

那么......我怎样才能ls从一个不可用但又不可用的帐户运行ssh呢?它们都是程序,为什么它们在这里的行为不同?

更新:不只是ssh,但我无法弄清楚模式:gawktarping也不起作用。然而df, ls, dir,pwd都可以。但:

因此,它们都设置了所有“x”位(除了 ping 其一个“s”,但请参见下面的错误代码),例如,ssh并且dir具有相同的 ACL。那么,为什么应该ssh并且gawk未能提供任何输出却又成功了呢?(完整路径或没有。)dirls

更新:更令人困惑的是,/bin/gawk失败并显示相同的消息,但代码为 256,/bin/tar同样/bin/ping,代码为 512。

更新:好的,这部分是有道理的:如果我从命令行运行失败的二进制文件,然后echo $?立即运行,ssh给出 255,ping给出tar2,gawk给出 1。这些是我在 mod_perl2 中得到的缩小版本。因此,似乎返回码不是 0 的任何东西都不起作用。可能它正在输出到 STDERR,因此 STDOUT 不捕获任何内容,因此返回空白。

啊哈,这就是答案——将发布。

0 投票
2 回答
1669 浏览

c++ - 从 Perl 脚本执行 C++ 程序;它需要编译器吗?

这次我有一个更复杂的问题。我写了一个简短的 Perl 程序,我的最终输出在一个数组中。我想在我的输出的每个元素上在我的 Perl 脚本中执行一个带有 .hpp 文件扩展名的 C++ 脚本(我已经从 UCSC 基因组浏览器下载了源代码)。这对我来说真的很难,因为我是一个整体编程的初学者,对 C++ 一无所知。我已经阅读了一些内容,我认为对我来说最好的方法是使用 qx 呼叫。我已经尝试过了,当我运行我的 Perl 脚本时,它只会在文本编辑器中打开 .hpp 文件。我不确定这是否是因为我错误地分配了 .hpp 文件扩展名以使用编辑器打开,或者我是否需要编译器来运行 .hpp 文件。

0 投票
2 回答
194 浏览

perl - 是否可以在 qx 中调用函数?

这是我想要的一些 Perl 代码:

不使用是否可以达到相同的效果$value?就像是

我知道为什么第二种方法不起作用,它只是为了展示这个想法。