为什么是;ls-d*/";!不在scala工作?

为什么是;ls-d*/";!不在scala工作?,scala,Scala,如何获取当前目录中的所有文件夹 我找到了这个解决方案,但我很好奇为什么它不起作用 因为“*”扩展由shell处理。试试这个 scala> import sys.process._ import sys.process._ scala> "ls -d */".! ls: */ : No such file or directory res0: Int = 2 更新 这将为您提供所需的输出。不确定潜在的机制 scala> "sh -c ls -d */".! 因为“*”扩展是

如何获取当前目录中的所有文件夹

我找到了这个解决方案,但我很好奇为什么它不起作用

因为“*”扩展由shell处理。试试这个

scala> import sys.process._
import sys.process._

scala> "ls -d */".!
ls: */ : No such file or directory
res0: Int = 2
更新

这将为您提供所需的输出。不确定潜在的机制

scala> "sh -c ls -d */".!
因为“*”扩展是由shell处理的。试试这个

scala> import sys.process._
import sys.process._

scala> "ls -d */".!
ls: */ : No such file or directory
res0: Int = 2
更新

这将为您提供所需的输出。不确定潜在的机制

scala> "sh -c ls -d */".!

正如在另一个答案中提到的,
*
由shell扩展,而不是由Java/Scala扩展

似乎您只对在当前目录中查找目录列表感兴趣。因此,单独产卵绝对是一种过度杀戮

这可以在Scala(或Java)中轻松完成:

Seq("sh", "-c", "ls -d */").!

正如在另一个答案中提到的,
*
由shell扩展,而不是由Java/Scala扩展

似乎您只对在当前目录中查找目录列表感兴趣。因此,单独产卵绝对是一种过度杀戮

这可以在Scala(或Java)中轻松完成:

Seq("sh", "-c", "ls -d */").!

嗯,没有更多的错误,但是它显示了所有的文件,它应该只显示目录。这不是
-d
所做的-d,--目录列出目录本身,而不是它们的内容。嗯,没有更多的错误,但是它显示了所有的文件,它应该只显示目录。这不是
-d
所做的“-d,--directory列出目录本身,而不是目录的内容。”
*/
中的尾随斜杠不能将输出仅限于目录。(为什么?因为斜杠只是分隔符,不是目录名称的一部分。)
find.-mindepth 1-maxdepth 1-typed
有效,尽管每个条目都以
/
开头。Shell很难!最好采用@tuxdna的方法。
*/
中的尾随斜杠并不能将输出限制为目录。(为什么?因为斜杠只是一个分隔符,而不是目录名的一部分。)
find.-mindepth 1-maxdepth 1-typed
有效,尽管每个条目都以
/
开头。Shell很难!最好采用@tuxdna的方法。