命令替换不会影响shell的状态吗?

时间:2013-05-21 17:59:48

标签: linux bash sh

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

#! /bin/bash

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

1 个答案:

答案 0 :(得分:4)

实际上;命令替换在子shell中执行。它们无法改变父进程的环境。