2013-07-29 4 views
1

Ruby에서 백틱을 사용하여 디렉토리를 변경하려고했습니다. 우분투 12.04 상자이고이 내가 오류입니다 : 어떻게 백틱을 사용하여 디렉토리를 변경합니까?

irb(main):003:0> `cd /` 
(irb):3: command not found: cd/
=> "" 

가 나는 단자를 통해 직접 명령을 실행하고 나는 잘 디렉토리를 변경합니다. 그것은 또한 내 로컬 맥 상자에서 잘 작동하므로 무슨 일인지 모르겠다.

+0

아니다 왜'cd /'가 작동하지 않지만'cd /''가 작동하는지 ure – tessi

답변

5

틱 표시를 사용하여 셸 명령을 실행하면 셸 명령이 부모 프로세스의 작업 디렉터리를 변경할 수없는 자식 프로세스에서 실행됩니다.

다른 명령으로 cd 명령을 연결하면, 당신이 일을 볼 수 있지만 자식 프로세스를 초래합니다

을 :

`cd/&& ls` 

는 루비 명령 Dir.chdir([string])을 사용하여 부모 프로세스의 작업 디렉토리를 변경하려면를

Dir.chdir("/") 

관련 정보는이 글에서 찾을 수 있습니다 : "exec the cd command in a ruby script"

관련 문제