两个脚本:一个改变目录,另一个不改变?

两个脚本:一个改变目录,另一个不改变?

我有两个脚本。一个是:

#!/bin/bash
if [ $1 = 1 ]; then 
   dir=mydir-1.6_
else
    dir=mydir
fi
cd ~/code/${dir}$2
echo $(pwd)

尽管有几篇帖子说脚本是在子 shell 中运行的,但它应该不会对正在执行的 shell 产生影响,但上述脚本仍然会改变目录。

现在我有另一个脚本:

 #!/bin/bash
    dir=/WORK/temp/$1
    mkdir -p $dir
    cd $dir
    wget http://somurl.com/archive.zip
    unzip archive.zip

上述脚本将文件解压到预期目录中,但将调用 shell 保留在同一目录中。在两个脚本中调用 cd 时有什么区别?

相关内容