Linux从可执行的bash文件更改目录

时间:2014-05-24 18:57:01

标签: linux bash

我在/usr/bin中有一个名为code的文件,其中包含以下内容:

cd ~/Documents/Code

然而,当我通过简单地执行

来运行它时
$ code

什么都没发生。为什么会这样,我如何让code按照我的意愿进行表演?

2 个答案:

答案 0 :(得分:3)

运行code时,会生成 new 进程以执行该脚本。该脚本更改目录(为其进程)并返回。原始shell的进程仍然具有相同的工作目录。子进程无法操纵其父进程的状态。

实现这一目标的更好方法是使用alias。将其添加到您的~/.bashrc

alias code='cd ~/Documents/Code'

答案 1 :(得分:1)

如果该文件位于/ usr / bin中,因为它位于PATH和可执行文件上,您可以使用. $(which code)source $(which code)在当前shell中运行该文件,但有更好的方法可以使用被乔纳森提到。