gpt4 book ai didi

bash - 为什么管道重置当前工作目录?

转载 作者:行者123 更新时间:2023-11-29 08:56:09 25 4
gpt4 key购买 nike

第一个脚本:

$ { mkdir dir; cd dir; pwd; } | cat; pwd;
./dir
.

第二个脚本:

$ { mkdir dir; cd dir; pwd; }; pwd;
./dir
./dir

为什么这个| cat 对当前目录有影响吗?以及如何解决?我需要第一个脚本与第二个脚本完全一样。我不希望 cat 将当前目录更改回 .

最佳答案

引自manual :

Each command in a pipeline is executed in its own subshell (see Command Execution Environment).

另见 Grouping Commands :

{}

   { list; }

Placing a list of commands between curly braces causes the list to be executed in the current shell context. No subshell is created.

关于bash - 为什么管道重置当前工作目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18513631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com