我正在尝试编写一个小脚本,将当前目录更改为我的项目目录:
#!/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/