10
루비에서 전체 명령 줄을 얻으려면 어떻게해야합니까?루비에서 전체 명령 줄을 얻는 방법은 무엇입니까?
$ 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에 전체 경로가 누락되었습니다.
당신은 당신의 예에 레일 루비의 전체 명령에 대해 질문, 그러나 말한다. 무엇 이니? 두 가지 모두 "명령 줄"을 가지고 있지만 응용 프로그램 계층이 매우 다릅니다. 그리고 "완전한 명령 줄"이란 무엇을 의미합니까? sh/bash/zsh 프롬프트? –
@theTinMan은 내가 제공 한 샘플을 읽고 실행 했습니까? 나는 현재의 루비 프로세스에 대해'ps -eo "% a"'를 원한다. –
당신은 레일즈 커맨드 라인 인 "rails c'라고 말합니다. 'ps'는 명령 행이 아닌 실행중인 프로세스 만 리턴 할 것입니다. 또한 명령 줄을 "반환"하지 않습니다. 'rails c '는 IRB를 기반으로하며, 둘 다 완전한 "명령 줄"입니다. 그것들은 Ruby 내부의 대화식 쉘이거나 Rails의 확장이로드 된 Ruby입니다. –