为什么我不能在 bash 脚本中使用 cd ?

为什么我不能在 bash 脚本中使用 cd ?

我做了一个非常简单的脚本

#!/bin/bash
mkdir $1 && cd $1

当我执行时

myscript test

它创建测试目录,但之后不会进入其中。我不明白为什么,在我的 fedora 27 上这个脚本工作没有任何问题,但在我的 debianstretch 上却出现了这种行为。有人可以解释一下为什么我会遇到这个错误吗?

答案1

你可以,而且效果很好。但是当脚本完成后,它的环境(包括它是工作目录)被破坏。

尝试source myscript test执行您的脚本,就像您已将其命令输入到实际的交互式 shell 中一样,并且您的工作目录将被更改。

相关内容