我试图通过在Ruby中使用backticks来改变目录。我在Ubuntu12.04框中,这是我得到的错误:
irb(main):003:0> `cd /`
(irb):3: command not found: cd /
=> ""我直接通过终端运行命令,并且我可以很好地更改目录。它在我的本地Mac机顶盒上也很好,所以我不知道发生了什么。
发布于 2013-07-29 23:57:02
当使用滴答标记运行shell命令时,它们将在无法更改父进程的工作目录的子进程中运行。
如果将cd命令与另一个命令链接,您将看到它正常工作,但只会影响子进程:
`cd / && ls`若要更改父进程的工作目录,请使用Dir.chdir([string])命令
Dir.chdir("/")相关信息可在本文中找到:"exec the cd command in a ruby script“。
https://stackoverflow.com/questions/17936033
复制相似问题