我有一个命令可以对 SwayWM 中的选定窗口进行屏幕截图,如下所示:
grim -g "$(swaymsg -t get_tree | jq -r '.. | (.nodes? // empty)[] | select(.pid and .visible) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | slurp -o)"
它在终端上完美运行,但是当我将命令添加到键绑定时:
bindsym Ctrl+Print exec grim -g "$(swaymsg -t get_tree | jq -r '.. | (.nodes? // empty)[] | select(.pid and .visible) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | slurp -o)"
它失败(触发时)并出现以下错误:
sh: -c: line 1: unexpected EOF while looking for matching `''
sh: -c: line 2: syntax error: unexpected end of file
对我来说似乎是引用转义问题,但我无法使其工作。如何正确转义引号并使命令按预期工作?