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

在Babashka中执行(shell "cd ..")报错,如何解决?

在Babashka中执行cd命令报错的解决办法

错误原因

cd是Shell的内置命令,并非独立的可执行程序。Babashka的shell函数会尝试将传入的命令当作可执行文件直接调用,因此找不到"cd"程序,触发java.io.IOException错误。

解决方案

根据你的需求选择以下方式:

  • 修改Babashka进程的全局工作目录
    使用Babashka官方推荐的babashka.fs库中的cd函数,它会直接改变当前进程的工作目录,后续所有文件操作都会基于新路径:

    (require '[babashka.fs :as fs])
    (fs/cd "..")
    
  • 在子Shell中临时切换目录执行命令
    如果只需要在单次命令执行时切换目录(不影响主进程工作目录),可以用sh -c将命令包裹在子Shell中执行:

    (shell "sh -c 'cd .. && echo 当前目录: $PWD'")
    

    替换echo 当前目录: $PWD为你实际需要执行的命令即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 23:21:09