10
如何在ruby中獲得完整的命令行?如何獲得完整的命令行在紅寶石?
$ rails c
> $0
=> "script/rails"
> ARGV
[]
> `ps -eo "%p|$|%a" | grep '^\\s*#{Process.pid}'`.strip.split("|$|")[1]
=> "/home/sam/.rvm/rubies/ruby-1.9.3-p194-perf/bin/ruby script/rails console"
有什麼比忍者ps更清潔我可以做得到相同的結果嗎?
爲了澄清,如果有困惑,我想完全相同的輸出:
`ps -eo "%p|$|%a" | grep '^\\s*#{Process.pid}'`.strip.split("|$|")[1]
ARGV是回來了空白。
$ 0缺少完整路徑。
你問在Ruby中一個完整的命令,但後來說,Rails的在你的榜樣。這是什麼?兩者都有「命令行」,但它們是非常不同的應用程序層。而且,「完整的命令行」是什麼意思? sh/bash/zsh提示符? – 2013-02-18 04:00:18
@theTinMan您是否閱讀並運行我提供的樣本?我想'ps -eo「%a」'爲我目前的ruby進程。 – 2013-02-18 04:34:48
你說的是「rails c'」這是一個Rails命令行。 'ps'任何東西只會返回一個正在運行的進程,而不是命令行。也不會「返回」一個命令行。 'rails c'基於IRB,既不是完整的「命令行」。它們是Ruby中的交互式shell,或者是Rails加載的Ruby。 – 2013-02-18 04:38:55