我具有类型
的目录结构|--bringup-scripts
| |--prep.sh
|--scripts
| |--i2c0.func
| |--bit.func
prep.sh 如下所示:
#!/bin/bash
. ../scripts/i2c0.func
i2c0.func 看起来像这样:
#!/bin/sh
. ./bit.func
因为 i2c0.func 对 bit.func 有依赖性,如果我运行 bringup-scripts 文件夹中的> prep.sh ,它会引发错误,提示
./ bit.func:没有这样的文件或目录
我应该如何解决?
答案 0 :(得分:1)
您可以做的是不使用相对路径,而是在 prep.sh 文件中为所有脚本定义一个起点,如下所示:
Node
对于 scripts 目录中的每个脚本,您还必须包括HashMap
作为前缀,例如:
i2c0.func
#!/bin/bash
export ROOT_DIR="$(dirname $PWD)"
. $ROOT_DIR/scripts/i2c0.func
答案 1 :(得分:0)
我不知道是否有标准的方法可以执行此操作,但是您可以尝试像这样更改 i2c0.func :
#!/bin/sh
. ../scripts/bit.func
尽管请注意 prep.sh 获取其调用者的工作目录,所以仅当您从bringup-scripts/
或scripts/
运行它时,它才能工作。