无法使用脚本更改目录

无法使用脚本更改目录

我尝试了以下脚本,以便于将目录更改为不同的硬盘分区。但执行后,默认位置不会改变,但如果我使用命令行,位置更改会成功,如下所示。有人能帮忙吗?

john@X61s:~$ pwd
/home/john
john@X61s:~$ vi chdir 
john@X61s:~$ ./chdir c
here ... 1
john@X61s:~$ pwd
/home/john
john@X61s:~$ cd /media/john/90F8-0AAE/
john@X61s:/media/john/90F8-0AAE$ 

脚本 chdir 如下

#! /bin/bash
dir=$1
if [[ $dir = 'c' ]]; then
echo 'here ... 1'
cd /media/john/90F8-0AAE/
elif [[ $dir = 'd' ]]; then
  echo 'here ... 2'
  cd /media/john/E5A9-932C
elif [[ $dir = 'e' ]]; then
  echo 'here ... 3'
  cd /media/john/56de0045-aa0e-4b69-8270-44b4ec866fa2/
else
  echo "$dir not defined"
  exit
fi

答案1

原因是脚本在子 shell 中运行;然后返回到您所在的位置......

尝试 ../chdir 使其在当前 shell 中运行。

相关内容