0
在Lubuntu 16.02,此命令將顯示有關所有桌面的信息:提取由特殊字符標識線「*」並將其存儲在一個變量
$ wmctrl -d
0 - DG: 3926x1600 VP: 0,0 WA: 0,24 2560x1576 desktop 1
1 - DG: 3926x1600 VP: 0,0 WA: 0,24 2560x1576 desktop 2
2 * DG: 3926x1600 VP: 0,0 WA: 0,24 2560x1576 desktop 3
3 - DG: 3926x1600 VP: 0,0 WA: 0,24 2560x1576 desktop 4
4 - DG: 3926x1600 VP: 0,0 WA: 0,24 2560x1576 desktop 5
需要存儲和處理有關的活動桌面的信息,通過什麼顯示出來:
$ wmctrl -d | grep "*"
2 * DG: 3926x1600 VP: 0,0 WA: 0,24 2560x1576 desktop 3
一些奇怪的原因,該解決方案將不存儲信息所需:
$ activedesktop=$(wmctrl -d | grep "*")
$ echo $activedesktop
2 Desktop Documents Downloads Mail Music Pictures Public Videos DG: 3926x1600 VP: 0,0 WA: 0,24 2560x1576 desktop 3
由於變量會插入主目錄名稱,「*」應該是。
爲什麼會發生這種情況,以及如何解決它?
退出'*'。或者使用'grep「[*]」'。此外,請參見[在grep中匹配帶有字面星號「*」的行)(https://stackoverflow.com/questions/1581307/matching-a-line-with-a-literal-asterisk-in-grep) –
@ WiktorStribiżew'activedesktop = $(wmctrl -d | grep「\ *」)''和'activedesktop = $(wmctrl -d | grep「[*]」)'提高相同(錯誤)的結果... – nightcod3r
嘗試'echo「 $活動桌面「'。 – melpomene