OpenSUSE Leap 15.4(IceWM)下xtrace无法找到目标程序求助
xtrace无法识别PATH中可执行文件的原因与解决办法
现象重现
~ $ xtrace xv *.tif* executable `xv' not found Try `xtrace --help' or `xtrace --usage' for more information. ~ $ whereis xv xv: /usr/bin/xv /usr/share/man/man1/xv.1x.gz ~ $ echo $PATH /home/qq/bin:/usr/local/bin:/usr/bin:/bin ~ $ xtrace display *.tif* executable `display' not found Try `xtrace --help' or `xtrace --usage' for more information.
问题原因
xtrace的参数解析逻辑要求明确区分自身选项和目标命令:如果不使用分隔符,它会把第一个非选项参数当作自己的命令参数处理,而非要执行的外部程序。你输入的xv、display被xtrace误认为是它自身的子命令或选项,而非PATH中存在的可执行文件,因此报错找不到该"可执行文件"。
另外需要说明:你通过glibc-utils安装的xtrace是用于跟踪进程函数调用的工具,并非X11协议跟踪工具(后者在部分发行版中可能也叫xtrace,但归属X11相关包),不过当前问题的核心还是参数格式错误。
解决方法
- 使用
--分隔符:明确告知xtrace其后的内容是目标命令及参数,这是最标准的解决方式:xtrace -- xv *.tif* xtrace -- display *.tif* - 指定命令绝对路径:绕开参数解析问题,直接用绝对路径调用目标命令:
xtrace /usr/bin/xv *.tif* xtrace /usr/bin/display *.tif*
内容的提问来源于stack exchange,提问作者user985675
相关产品推荐
相关产品推荐

