我正在尝试编写一个小脚本,将当前目录更改为我的项目目录:

#!/bin/bash
cd /home/tree/projects/java

我将此文件保存为proj,使用chmod添加了执行权限,并将其复制到/usr/bin。当我叫它:
proj,它什么也不做。我做错什么了?

最佳答案

Shell脚本在一个子Shell中运行,每个子Shell对当前目录有自己的概念。cd成功了,但是一旦shell退出,你就回到了交互shell中,没有任何改变。
解决此问题的一种方法是改用别名:

alias proj="cd /home/tree/projects/java"

关于linux - 为什么“cd”在shell脚本中不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57102368/

10-12 16:33
查看更多