ruby执行shell命令,常用的是``,但这种有点小问题,就是这货是新建了一个子进程,这意味着如果使用``,那么整个方法内部就只能执行一次shell,如果说下面还要依靠``执行的结果,比如新建文件/文件夹什么的,那么,抱歉,你会发现找不到文件或目录,因为这货开了个子进程,然后立马往下执行,他不会等待子进程退出后再执行,所以可能会出现折耳猫一种情况:整个脚本执行完毕了,都打印退出提示了,突然莫名其妙的出现shell的执行结果。。。
要解决这个问题,需要使用system这种方法,具体用例这里懒得写,百度一搜就知道,这货的好处就是他只开一个子shell,这个shell不退出的话不会往下执行,这样就可以免掉使用``带来的问题
时间: 2024-10-29 02:46:40