如何在可以影响调用Shell的rakefile中运行bash
命令?例如,更改调用程序外壳的工作目录。
使用直bash
时,我会有一个script.sh
:
#!/bin/bash
cd newdir
,然后从终端上source script.sh
。我将获得更新的新目录。
我在Rakefile中尝试了system("source ...")
,但它会影响rake子外壳,因此不会传播到调用外壳。
上下文:我的目标是通过Rakefile设置终端开发环境。当前,我对每个环境都有一个bash
脚本,在项目A中工作时会执行source dev-projectA.sh
。它设置各种变量,使我进入正确的目录和终端设置,开始收听服务器,等等。