1
我試圖通過在Ruby中使用反引號來更改目錄。我在Ubuntu 12.04框,這是我得到的錯誤:如何使用反引號來改變目錄?
irb(main):003:0> `cd /`
(irb):3: command not found: cd/
=> ""
我直接通過終端運行命令,我改變目錄就好了。它也適用於我的本地Mac機器,所以我不確定發生了什麼。
我試圖通過在Ruby中使用反引號來更改目錄。我在Ubuntu 12.04框,這是我得到的錯誤:如何使用反引號來改變目錄?
irb(main):003:0> `cd /`
(irb):3: command not found: cd/
=> ""
我直接通過終端運行命令,我改變目錄就好了。它也適用於我的本地Mac機器,所以我不確定發生了什麼。
當您使用刻度標記運行shell命令時,它們將運行在無法更改父級工作目錄的子進程中。
如果用其他命令鏈接cd
命令,你會看到它的工作,但隻影響子進程:
`cd/&& ls`
要更改父進程的工作目錄使用Ruby的命令Dir.chdir([string])
:
Dir.chdir("/")
相關信息可以在這個帖子中找到: 「exec the cd command in a ruby script」
不是S爲什麼'cd /'不工作,但'cd'/''工作:) – tessi