1

コードを簡単にコンパイルできるようにシェルスクリプトを書いただけです。私のディレクトリツリーは次のようになります。

TOPDIR
|
+--- DIR[1]
.
.
.
+--- DIR[n]
|
+--- DIR[n+1]
      |
      +--- makefile

私は自分のコードをコンパイルするために次のコマンドを使用していました:

$cd DIR[n+1]
$make

コードのコンパイル後に TOPDIR に戻りたいので、次のように入力します。

$cd -

1つのシェルスクリプトファイルで作りたいので、次のように書きます。

#! /bin/sh
cd $HOME/$WORKDIR/$MAKEDIR
make
cd -

この後、ベンダーから新しいコードを入手し、make プロセスで何かが変更されました。ディレクトリ ツリーは前とほとんど同じに見えますが、シェル スクリプトを使用して 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、使用には問題ありません。

この問題について何かコメントはありますか?

4

1 に答える 1