0

这个将脚本的当前目录存储在 MYDIR 中的示例在变量赋值之前和之后回显相同的目录(即使调用了 cd),这让我认为命令替换不会影响 shell 的状态。所有命令替换都是这样吗?

#! /bin/bash

echo "$PWD"
MYDIR="$( cd "$( dirname "$0" )" && pwd )"
echo "$PWD"
4

1 回答 1

4

的确; 命令替换在子shell中执行。他们不能改变父进程的环境。

于 2013-05-21T18:02:30.547 回答