cd path not take effect in shell

cd path not take effect in shell

Guide

changedir.sh

1
2
3
#!/bin/bash
cd /home/firefox
pwd

执行的时候是./changedir.sh来执行的,这样执行的话终端会产生一个subshell,subshell去执行脚本,在subshell中已经切换了目录了,但是subshell一旦执行完,马上退出,subshell中的变量和操作全部都收回。回到终端根本就看不到这个过程的变化。

修复方案:

source ./changedir.sh

或者

. changedir.sh

解释:source changedir.sh执行,这时候就是直接在终端的shell执行脚本了,没有生成子shell,所以当前终端切换了目录。

Reference

坚持技术分享,您的支持将鼓励我继续创作!