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

如何在Nushell脚本中检查目录是否存在?

在Nushell中检查目录是否存在的方法

下面是几种实用的实现方式,可根据场景选择:

方法一:结合path exists与类型检查

先用path exists确认路径存在,再通过type命令验证该路径是目录:

let target_dir = "./my-target-dir"
if (path exists $target_dir) and ($target_dir | type == "dir") {
    echo "目标目录存在"
} else {
    echo "目标目录不存在"
}

这种方式能区分开存在的文件和目录,避免误判。

方法二:使用test -d命令

Nushell兼容类POSIX的test工具,-d参数可直接检查路径是否为存在的目录:

let target_dir = "./my-target-dir"
if test -d $target_dir {
    echo "目标目录存在"
} else {
    echo "目标目录不存在"
}

这是最简洁直接的方式,一步完成判断。

方法三:通过目录切换验证(适合后续需操作目录的场景)

尝试切换到目标目录,通过退出码判断是否成功:

let target_dir = "./my-target-dir"
if (cd $target_dir 2>/dev/null; echo $env.LAST_EXIT_CODE) == 0 {
    echo "目标目录存在"
} else {
    echo "目标目录不存在"
}

如果后续需要在该目录下执行操作,这种方式可以顺带完成目录切换,减少重复操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 10:35:35