我试图使用这个脚本来最大化我所有的窗口,但它似乎不起作用。任何帮助都会很好。
#!/bin/bash
window_ids=$(wmctrl -l | cut -f1 -d " ")
for window_id in $window_ids
do
wmctrl -i -r "$window_ids" -b add,maximized_vert,maximized_horz
done发布于 2022-06-10 02:10:51
您正在循环中调用window_ids,但您似乎希望使用window_id
我不太熟悉wmctrl命令,但通常也应该避免使用单词拆分来创建这样的循环。
您可以使用一个数组:
mapfile -t window_ids < <(wmctrl -l | cut -f1 -d " ")
for window_id in "${window_ids[@]}"; domapfile/readarray将创建一个数组window_ids,每一行都成为它自己的元素
或者偶尔读一遍:
wmctrl -l | while IFS=' ' read -r window_id _; do在这种情况下,wmctrl -l的输出将以空格作为分隔符读取。每一行的第一个字段将分配给$window_id,其他所有内容都将进入$_。
https://unix.stackexchange.com/questions/705624
复制相似问题