作为bash
脚本的初学者,我写了一个简单的脚本来更改目录。这是我的源代码:
#!/bin/bash
set -x
echo "---------------------START-----------"
cd /home/cocadas/Workspace/carnd/CarND-Behavioral-Cloning-P3
我保存为"开始"在/root
文件夹中。我将文件的属性更改为可执行文件,然后按如下所示运行它。问题是执行命令cd
不起作用。我错过了什么?
cocadas@cocadas-ThinkPad-W540:~$ ./start
+ echo ---------------------START-----------
---------------------START-----------
+ cd /home/cocadas/Workspace/carnd/CarND-Behavioral-Cloning-P3 cocadas@cocadas-ThinkPad-W540:~$ cd
/home/cocadas/Workspace/carnd/CarND-Behavioral-Cloning-P3
cocadas@cocadas-ThinkPad-W540:~/Workspace/carnd/CarND-Behavioral-Cloning-P3$
答案 0 :(得分:2)
您的./start
来电会创建一个子shell。运行source start
或. start
(.
是source
的缩写)而不是直接在命令行中执行脚本,而不是在嵌套容器中执行。