2012-12-30 3 views
3

는이 코드루비에서 내 백틱이 작동하지 않는 이유는 무엇입니까?

`ifconfig` 

%x(ifconfig) 

system("ifconfig") 

나는 그것을 실행 만 "시스템 ("ifconfig를 ")"작품이있다. 나는 그것을 분리하여 먼저 실행하기 때문에 그것을 안다.

+0

"system ("ifconfig ")"이 무슨 뜻입니까? 어떤 오류? –

+1

@EvgeniyRyzhkov 그게 문제입니다. 오류가 전혀 없습니다. 나는 무엇이 잘못되었는지조차 모른다. 처음 두 가지 방법은 아무것도 보여주지 않습니다. 심지어 오류. 세 번째 방법은 콘솔에서 "ifconfig"의 출력을 보여줍니다. – user1535147

+0

@ user1535147 무슨 뜻입니까? 일어난 일과 앞으로 일어날 일은 무엇입니까? –

답변

6

백틱과 % x 변형은 결과의 결과를 변수로 반환합니다. system()이 명령을 호출하고 !!return_code을 반환합니다.

1.9.3p327 :001 > `ifconfig` 
=> "eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>..." 

1.9.3p327 :002 > %x(ifconfig) 
=> "eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>..." 

1.9.3p327 :003 > system("ifconfig") 
eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 
... 
=> true 
관련 문제