2014-02-24 100 views
0

我想在一行脚本中克隆和安装依赖关系。 git clone https://github.com/Study-Master/Java-WebSocket.git /tmp/socket && cd /tmp/socket && mvn install -Dmaven.test.skip=true,这就是我输入的内容。但是这个命令会离开当前目录并在执行后转到/tmp/socket。有什么方法可以保持在当前目录中。bash脚本后留在当前目录

回答

8

有什么办法可以让我留在当前目录中。

是。在子shell执行你的命令,即说(command)(括号括内的命令):

(git clone https://github.com/Study-Master/Java-WebSocket.git /tmp/socket && cd /tmp/socket && mvn install -Dmaven.test.skip=true) 
2

只需保存你需要的目录即可。

PWD=$(pwd) 

...执行pwd并保存输出到$PWD

因此您的命令看起来是这样的:

PWD=$(pwd); git clone https://github.com/Study-Master/Java-WebSocket.git /tmp/socket && cd /tmp/socket && mvn install -Dmaven.test.skip=true; cd $PWD 

而且你回来了。

+1

更重要的是,使用'pushd'和'popd'。 – dreamlax

+0

更好的是'cd -' – BroSlow

+0

Right @BroSlow - 忘了'cd -'回到'$ OLDPWD'。 – zero0