モジュールをロードせずにスクリプトヘルプを作成する

モジュールをロードせずにスクリプトヘルプを作成する

それで、Netcdfをビルドしてインストールするためのスクリプトを書いていますが、スクリプトを受け取ったときに一部の行が実行されないかスキップされているように見え、その理由がわかりません。しかし、コードを1行ずつ手動で実行すると正常に動作します。スクリプトは次のとおりです。

module purge
module load gnu/5.1.0
module load mvapich2/2.1
module load hdf5/1.8.9

export SRC_DIR=/usr/local/src/netcdf/netcdf-4.3.3.1
export BUILD_DIR=$SRC_DIR/build-gnu
export INSTALL_DIR=/usr/local/netcdf/gnu/5.1/mvapich2/2.1/4.3.3.1/

mkdir -p $INSTALL_DIR
mkdir -p $BUILD_DIR
cd $BUILD_DIR

CC=mpicc CXX=mpicxx FC=mpif90 CFLAGS='-DpgiFortran -fPIC' CPPFLAGS=-I$HDF5_HOME/include \
 FCFLAGS='-DpgiFortran -fPIC' LDFLAGS=-L$HDF5_HOME/lib \
../configure --prefix=$INSTALL_DIR --enable-shared --with-hdf5=$HDF5_HOME

make
make check
make install
make clean

設定コマンドに直接移動するようです。以下を使用してスクリプトを実行しました。

. build-netcdf-gnu-5.1 |& tee build-netcdf-gnu-5.1.log

ただし、実行するとモジュールがロードされず、ビルドディレクトリに変更したスクリプトが起動したディレクトリに残ります。奇妙なことは、コードを1行ずつコピーして貼り付けるとうまく動作することです。このスクリプトが期待どおりに実行されないのはなぜですか?私が見落としている簡単なことはありますか?助けてくれてありがとう。

ベストアンサー1

おすすめ記事