我有一個在其中運行程式的目錄
。
我需要從目錄中運行程式所以我必須去 cd /usr/bin/my-dir ./my-program
我有一個從遠端電腦更新我的程式的腳本,如下所示: rm -rf /usr/bin/my-dir mv my-program /usr/bin/my-dir
問題是當我透過 ssh 進入機器並位於目錄 /usr/bin/my-dir 時腳本失敗,因為它無法成功執行 rm -rf /usr/bin/my-dir (它刪除了所有內容但不是目錄)
有什麼方法可以解決這個問題(例如,某種方法可以配置外殼程式以允許在我所在的目錄中刪除該目錄?)或其他解決方案?目前,我 cd 出目錄,運行腳本,然後 cd 返回目錄,但我每天必須執行數百次 - 必須有更有效的方法來執行此操作。
答案1
以防萬一它對任何人有幫助。事實證明,shell 的工作方式是,如果在不同的 shell 實例中刪除當前目錄,然後重新建立並填充文件,則原始 shell 將顯示一個空目錄。
要再次查看文件,只需轉到
cd .
這導致透過不刪除目錄本身(僅刪除和替換特定檔案)來解決原始問題。