小编Jam*_*ley的帖子

Bash subshel​​l/pipelines - 哪些部分在子shell中执行?

对另一篇文章评论中,@ JonathanLeffler表示:

{...} | somecommand在子shell中运行,不会影响父shell.演示:

man bash

(输出PQR,ABC,PQR三行)

确实:

X=PQR; echo $X; { X=ABC; echo $X; } | cat; echo $X
Run Code Online (Sandbox Code Playgroud)

但是,{ .. }man bash不会在子shell中执行:

james@bodacious-wired:tmp$X=PQR; echo $X; { X=ABC; echo $X; } | cat; echo $X
PQR
ABC
PQR
Run Code Online (Sandbox Code Playgroud)

那么这里发生了什么?是echo $$错?我知道管道的每个部分都在子shell中执行; 但我不知道这是如何导致观察到的行为.例如:

   { list; }
          list  is  simply executed in the current shell environment.  list must be 
          terminated with a newline or semicolon.  This is known as a group …
Run Code Online (Sandbox Code Playgroud)

bash

12
推荐指数
1
解决办法
2369
查看次数

使用特定版本的 Python 设置 python virtualenv

我正在尝试开始使用 Google App Engine。我在我的虚拟环境中安装了 python 2.6,我想使用它。但Google App Engine支持python2.5。所以我想用python 2.5设置另一个python虚拟环境。

你能帮我具体怎么做吗?

python virtualenv

3
推荐指数
1
解决办法
3587
查看次数

标签 统计

bash ×1

python ×1

virtualenv ×1