2013-07-29 53 views
1

我試圖通過在Ruby中使用反引號來更改目錄。我在Ubuntu 12.04框,這是我得到的錯誤:如何使用反引號來改變目錄?

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

我直接通過終端運行命令,我改變目錄就好了。它也適用於我的本地Mac機器,所以我不確定發生了什麼。

+0

不是S爲什麼'cd /'不工作,但'cd'/''工作:) – tessi

回答

5

當您使用刻度標記運行shell命令時,它們將運行在無法更改父級工作目錄的子進程中。

如果用其他命令鏈接cd命令,你會看到它的工作,但隻影響子進程:

`cd/&& ls` 

要更改父進程的工作目錄使用Ruby的命令Dir.chdir([string])

Dir.chdir("/") 

相關信息可以在這個帖子中找到: 「exec the cd command in a ruby script