Ruby 最强大的 which whereis 命令

sevk · March 28, 2012 · Last by sevk replied at March 29, 2012 · 3648 hits

#!/usr/bin/env ruby
# 比如: which ruby
# 
name = ARGV[0] 
a = ENV['PATH'].split(/;/) | $:

inc = ENV['INCLUDE']
if inc
  inc = inc.split(/;/)
  a << inc.map{|x| x + '\\sys'}
  a << inc.map{|x| x + '\\gl'}
  a = a | inc
end

lib = ENV['LIB'].split(/;/) rescue []
a =a | lib

a.flatten!
a.map{|x| x.downcase! }
a.uniq!

a.each{|path|
   path.gsub!(/\\/,'/')
   Dir[File.join(path, '*'+name+'*')].each{|x|
      print "#{x}\n"
   }
}



真强大,比 everything 还牛。

这是非索引的 locate 么

#2 楼 @reus

这个只查找 $: 和 path 的。 locate 默认查找所有目录。

You need to Sign in before reply, if you don't have an account, please Sign up first.