Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这个将脚本的当前目录存储在 MYDIR 中的示例在变量赋值之前和之后回显相同的目录(即使调用了 cd),这让我认为命令替换不会影响 shell 的状态。所有命令替换都是这样吗?
#! /bin/bash echo "$PWD" MYDIR="$( cd "$( dirname "$0" )" && pwd )" echo "$PWD"
的确; 命令替换在子shell中执行。他们不能改变父进程的环境。