如何在linux中将两个bash调用合并为一个



我有两个linux gnome命令,我想将它们合并为一个。

一个是给我的标题:

gdbus call -e -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval global.get_window_actors()[`gdbus call -e -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval global.get_window_actors().findIndex(a=>a.meta_window.has_focus()===true) | cut -d"'" -f 2`].get_meta_window().get_title() | cut -d'"' -f 2

而另一个给了我程序名:

gdbus call -e -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval global.get_window_actors()[`gdbus call -e -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval global.get_window_actors().findIndex(a=>a.meta_window.has_focus()===true) | cut -d"'" -f 2`].get_meta_window().get_wm_class() | cut -d'"' -f 2

现在调用几乎相同,但我无法同时检索两个参数。如何在一次通话中同时使用get_meta_windowget_title

在bash中,您可以使用{ list; }组合两个命令,其中list是命令列表。

示例:

{ echo foo; echo bar; }
foo
bar

然后,您可以按照自己的意愿过滤级联输出:

示例2:(将换行改为星号(

{ echo foo; echo bar ; } | tr “n” “*“
foo*bar*

注意:间距非常重要。在开头{和结尾}之间有一个空格。

最新更新