You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在xonsh中为find命令正确使用-exec、-execdir参数?

报错原因

  • 第一个SyntaxError报错:{}是xonsh默认的Python插值语法占位符,未加引号直接写{}会被xonsh识别为要插入Python表达式,和find命令本身的{}参数语法冲突,导致语法解析失败。
  • 第二个find: missing argument to -execdir'报错:给{}加单引号解决了插值冲突,但末尾的;没有被xonsh正确解析为单个;字符传递给find,-exec/-execdir要求必须以;`作为命令终止符,find没收到终止符就会提示缺少参数。

正确写法

最稳妥的方案是同时把{}和终止符;用单引号包裹,避免被xonsh的特殊语法解析:

find @(str(path)) -iname "log.txt" -execdir pwd '{}' ';'

如果需要执行更复杂的命令,也可以将整条find命令交给bash子进程执行:

bash -c @(f"find {str(path)} -iname 'log.txt' -execdir pwd {{}} \\;")

内容的提问来源于stack exchange,提问作者MountainX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 07:51:03