2013-11-26 82 views
0

我想找到一个特定的目录的完整路径和使用bash脚本路径存储在变量中的变量,如果它存在的目录和存储的完整路径。 对于例如,我要搜索“红宝石/ lib目录”。其完整路径是“在/ usr /共享/红宝石/ lib目录”,我想捕捉在进一步处理的变量这条道路。查找使用bash脚本

可能吗?

回答

1

使用find之间没有空格,你可以说:

find/-type d -path "*/ruby/lib" 

为了捕获结果到一个变量,说:

out=$(find/-type d -path "*/ruby/lib") 
+0

'find'听起来不错,因为它是安装在每个系统上(以相反'realpath'它必须安装第一) – hek2mgl

+0

它的工作!谢谢。但它似乎有点缓慢。 – NagaLakshmi

+0

@NagaLakshmi这很慢,因为你在根目录下搜索。如果你相信它会存在的,说'/ usr',那么你可以说'找到的/ usr型d -path“* /红宝石/ lib目录”'代替。 – devnull

0

(感谢@dstronczak),我会用readlink它。它:

path=$(readlink -f ruby/lib) 

注意必须有path=

+2

您也可以使用'的readlink -f',而不是'realpath'。 – dstronczak

+0

谢谢,好多了! :) – hek2mgl

+1

欢迎:)回到那天,我真的习惯于在我的ubuntu机器上运行'realpath'。现在我倾向于使用别名:'别名真实路径='的readlink -f'';) – dstronczak