xdotool 命令适用于命令行,不适用于 bash 脚本

xdotool command works at command line, not in bash script

为什么命令 xdotool search --class mupdf windowactivate --sync type f]H 在命令行中按预期工作,几乎,但在以下脚本中完全没有

joc(){ # Joy of Cooking, joc [page #, def 823]
  mupdf $HD/ReadBooks/Rombauer/Rombauer-JoyOfCooking_11_823.pdf ${1:-823}
  sleep 1
  eval "xdotool search --class mupdf windowactivate --sync type f]H"
}

请注意,我在脚本中尝试过使用和不使用引号、使用和不使用 eval、使用和不使用 'search ... --sync'。据我所知,xdotool 命令根本没有效果。

因为在启动 mupdf 之后,它不会 return 控制脚本,直到您关闭它。您必须在后台使用 & 在后台 运行 它:

mupdf example.pdf &
sleep 1
xdotool search --class mupdf windowactivate --sync type f]H