S_D*_*S_D 5 javascript gnome glib gnome-3 gnome-shell-extensions
所以我正在做一个Gnome Shell扩展。我希望能够使用管道运行某些命令。(该命令实际上是"xrandr --query | awk 'something'",但这不是主题)
所以,到目前为止我所做的是
GLib.spawn_async_with_pipes(null,
['/usr/bin/xrandr', '--query', '|', 'awk...'], null,
GLib.SpawnFlags.DO_NOT_REAP_CHILD, null);
Run Code Online (Sandbox Code Playgroud)
但这不起作用!我找不到在带有管道的gnome扩展中运行命令的任何示例。
我是否必须"|"像以前一样在命令中编写代码?
spawn_async_with_pipes没有做你想做的事(以简单的方式)。它返回管道以进行处理。您可以通过两次调用和连接来完成此操作,但会有点复杂。
保持准确语法的一个简单方法是调用一个 shell,它将在这个答案的帮助下进行管道处理,它提供了一种调用命令的方法,我编写了以下代码,它调用 shell(本例中为 bash)正确的论点
const Util = imports.misc.util;
Util.spawn(['/bin/bash', '-c', "xrandr --query | awk 'something'"])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1654 次 |
| 最近记录: |