在bash中,如果我想为单个命令更改当前目录do_thing,我将生成一个新的子shell,在其中更改目录,运行
(cd folderName; do_thing)
Run Code Online (Sandbox Code Playgroud)
该问题的内容表明,在PowerShell中执行此操作的方法是使用Push-Location存储位置以及Pop-Location命令完成运行后的位置。这行得通,但并不理想:我必须记住Pop-Location在脚本的每个返回点处进行写入(例如,在每个异常之前,如果在按下某个位置时发生异常),则未捕获的异常将照原样保留当前目录。
有没有一种方法可以将当前目录重置为脚本开始时的状态,即使抛出未捕获的异常也是如此?
powershell ×1