簡體   English   中英

Ruby在代碼中更改目錄

[英]Ruby change directory in code

因此,我遇到了一個問題,即刪除了我的Ruby腳本正在執行的當前文件夾,例如:

/home/user/scriptfolder 

現在,我運行我的紅寶石寶石,我這樣做:

mycommand --deletefull 

現在,mycommand是GLI命令,它應該刪除文件夾的內容以及文件夾本身。 我通過使用自定義類來做到這一點:

ClientModuleDir.rm_f(path)

現在刪除它后,我只想做cd ..

但是我嘗試了幾種方法:

system('cd ..')
 Dir.chdir(dir)  #dir is abs path without the scripfolder name, i've tried every combination with this command, nothing works so far.

但是,這些方法不起作用。

我仍然在

/home/user/scriptfolder 

執行完這些命令后,文件夾不存在。 當我手動執行cd ..而我執行ls文件夾不存在時。

如何用ruby代碼“物理地”更改文件夾?

當前工作目錄始終僅保留用於當前程序。 在程序中更改工作目錄不會影響任何其他正在運行的程序,包括其父程序。

因此,當您刪除Ruby腳本中的目錄並向下一級更改Ruby進程的工作目錄時,這不會影響啟動Ruby腳本的Shell進程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM