这是场景:我曾经将代码开发到环境中,当我启动它时,我做了一个“ setup.ps1”或“ init.ps1”。这段代码过去要做的就是在我的shell / cmd实例中添加我需要的所有变量。这意味着当我执行“ branch fo”创建分支时,或者当执行echo $ blah时,它确实已经初始化了,debug命令将我移动到加载了很多变量的debug文件夹中。
现在,由于我转向Linux,所以我希望拥有同样的东西。但是,在bash中只有2个星期的历史,我看到每个人在配置文件加载时都在.bashrc或.zshrc中添加了内容。好吧,这对我来说很好,但对于许多开发人员加载的项目而言却不然。因此,我需要使用“ source init.sh”或“ bash setup.sh”并加载控制台的所有变量,这样之后,我就可以开始构建了,等等。
我试图以这种形式添加项目,但是当然,它们不起作用。看来dir无法获得源代码,并且源$ setup不起作用...
#!/bin/bash
set +e
dir=$(dirname $(readlink -f $0))
setup="$dir/services/deployment/setup.sh"
echo "loading $setup"
source $setup
function ftest() {
echo "something"
}
export test1=ftest
export test2="test"
感谢任何指针。
编辑: 这是我在采购source.sh时遇到的错误,该错误已在上面添加。
➜ src git:(master) ✗ cat setup.sh
#!/bin/bash
set +e
dir=$(dirname $(readlink -f $0))
setup="$dir/services/deployment/setup.sh"
echo "loading $setup"
source $setup
function ftest() {
echo "something"
}
export test1=ftest
export test2="test"#
➜ src git:(master) ✗ source setup.sh
setup.sh:4: bad math expression: operand expected at `/mnt/d/Rep...'
➜ src git:(master) ✗