相关疑难解决方法(0)

更改当前目录的脚本(cd、pwd)

我想运行一个脚本来简单地更改当前工作目录:

#!/bin/bash
cd web/www/project
Run Code Online (Sandbox Code Playgroud)

但是,运行后,当前密码保持不变!我怎样才能做到这一点?

scripting bash cd-command environment-variables

93
推荐指数
5
解决办法
26万
查看次数

使用脚本更改当前工作目录

我已经阅读了这个问题和答案,但它并不适合我的问题,即使它很相似。

我正在编写一个脚本(称为 cpj),它将启动我当前的项目之一。我有大约 5 个。当我打字

$ cpj blah

我希望当前工作目录更改为 blah 项目目录(我保存在 $PROJDIR 中),并且我希望 emacsclient 打开该项目的主文件(我保存在 $MAINFILE 中)。

我引用的问题说你不能直接改变运行脚本的 shell 的环境,但你可以获取一个脚本,它会这样做。

为了测试这一点,我编写了一个 shell 脚本(称为 chcwd),其中有一行:

cd $1

如果,从命令行我做:

$ . chcwd $PROJDIR

我当前的工作目录将根据需要更改。另一方面,如果从我的 cpj 脚本中,我有相同的行:

. chcwd $PROJECT

它不会改变 shell 的当前工作目录。我意识到我正在运行 2 个脚本(cpj,然后是 chcwd),因此创建了 2 个 shell,但我看不出有什么办法可以完成我想要的。谁能告诉我如何实现我的目标?

shell cd-command

8
推荐指数
1
解决办法
2万
查看次数