我在/usr/bin
中有一个名为code
的文件,其中包含以下内容:
cd ~/Documents/Code
然而,当我通过简单地执行
来运行它时$ code
什么都没发生。为什么会这样,我如何让code
按照我的意愿进行表演?
答案 0 :(得分:3)
运行code
时,会生成 new 进程以执行该脚本。该脚本更改目录(为其进程)并返回。原始shell的进程仍然具有相同的工作目录。子进程无法操纵其父进程的状态。
实现这一目标的更好方法是使用alias
。将其添加到您的~/.bashrc
:
alias code='cd ~/Documents/Code'
答案 1 :(得分:1)
如果该文件位于/ usr / bin中,因为它位于PATH和可执行文件上,您可以使用. $(which code)
或source $(which code)
在当前shell中运行该文件,但有更好的方法可以使用被乔纳森提到。