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

sta*_*x76 6 shell file-io nushell

我想知道如何检查 Nushell 中是否存在目录?

Not*_*1ds 9

使用path exists内置的。例子:

\n
> "/home" | path exists\ntrue\n
Run Code Online (Sandbox Code Playgroud)\n
> "MRE" | path exists\nfalse\n
Run Code Online (Sandbox Code Playgroud)\n
> "./nu-0.71.0-x86_64-unknown-linux-gnu" | path exists\ntrue\n
Run Code Online (Sandbox Code Playgroud)\n
> [ \'.\', \'/home\', \'MRE\'] | path exists\n\xe2\x95\xad\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x95\xae\n\xe2\x94\x82 0 \xe2\x94\x82 true  \xe2\x94\x82\n\xe2\x94\x82 1 \xe2\x94\x82 true  \xe2\x94\x82\n\xe2\x94\x82 2 \xe2\x94\x82 false \xe2\x94\x82\n\xe2\x95\xb0\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xb4\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x95\xaf\n> [ \'.\', \'/home\', \'MRE\'] | all {path exists}\nfalse\n> [ \'.\', \'/home\', \'MRE\'] | any {path exists}\ntrue\n
Run Code Online (Sandbox Code Playgroud)\n
> if ([ \'.\', \'/home\', \'/proc\'] | all {path exists}) {\n    "All directories exists"\n} else {\n    "One or more directories are missing"\n}\nAll directories exists\n
Run Code Online (Sandbox Code Playgroud)\n

(^感谢@Raze使用 进行简化all。)

\n

请参阅help path exists参考资料 获取更多详细信息和help path更多内置路径帮助器。

\n