Portál AbcLinuxu, 15. července 2025 03:20


Dotaz: Ruby a which

10.8.2007 02:40 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
Ruby a which
Přečteno: 222×
Odpovědět | Admin
Hi, potreboval by som v Ruby zistit full cestu k programu nieco take co robi which v BASH.
which mc
/usr/bin/mc
Cize zadam mu len mc a on vrati plnu cestu.

Samozrejme nie volanim programu which cez system.

Ma nieco take Ruby?
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.8.2007 10:57 Michal Karas | skóre: 45 | blog: /dev/random
Rozbalit Rozbalit vše Re: Ruby a which
Odpovědět | | Sbalit | Link | Blokovat | Admin
def which(program_name)
  fp2p = ""

  ENV['PATH'].split(':').each do |path|
    path += "/#{program_name}"
    fp2p = path if File.exist?(path) and File.executable?(path)
  end

  return fp2p
end
10.8.2007 11:04 Michal Karas | skóre: 45 | blog: /dev/random
Rozbalit Rozbalit vše Re: Ruby a which
Případně ještě přidat jeden řádek:
  ENV['PATH'].split(':').each do |path|
    path = File.expand_path(path) if path == "."
    path += "/#{program_name}"
    ...
kdybys používal . v PATH.
10.8.2007 12:57 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
Rozbalit Rozbalit vše Re: Ruby a which
Wow, dik, myslel som ci nato nie je jedna funkcia ktora napr. zisti ci subor existuje v PATH. Takze asi nie :(.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.