我只是简单地编写了一个 shell 脚本来让我轻松地编译我的代码。我的目录树如下所示:
TOPDIR
|
+--- DIR[1]
.
.
.
+--- DIR[n]
|
+--- DIR[n+1]
|
+--- makefile
我曾经使用以下命令来编译我的代码:
$cd DIR[n+1]
$make
因为我想在编译完代码后回到 TOPDIR,所以我输入:
$cd -
我想把它放在一个 shell 脚本文件中,所以我写:
#! /bin/sh
cd $HOME/$WORKDIR/$MAKEDIR
make
cd -
它运行良好,在此之后,我从我们的供应商那里得到了新代码,它改变了制作过程中的一些东西。目录树看起来和以前几乎一样,但它使用一个 shell 脚本来启动 make 过程:
TOPDIR
|
+--- DIR[1]
|
+--- DIR[2]
.
.
.
+--- DIR[N]
|
+--- DIR[n]
| |
| +---build_1.sh
+---build_2.sh
在 build_1.sh 中,它只包含:
#! /bin/sh
source ../build_2.sh
因此,我首先使用:
$cd DIR[n]
$./build_1.sh
编译后,我使用:
$cd -
但我用脚本编写命令:
#! /bin/sh
cd DIR[n]
./build_1.sh
cd -
它向我展示了:
./build_1.sh: 2: ./build_1.sh: source: not found
openSUSE
我在;上使用相同的脚本 它没有问题。但是ubuntu-13.04
,它在错误上方弹出。我测试了中的source
功能ubuntu-13.04
,使用没有问题。
对此问题有何评论?