|
工作需要,边学边写。暂时写了一小段,主要功能是建立计算数据点的目录。烦请指点一下其中的错误。
- #!/bin/bash
- #
- # Some variables settings
- WORK_DIRECTORY=/home/user/task
- PORE_WIDTH_DIRECTORY=(0.3549 0.7098 1.0647 1.4196 1.7745 2.1294 2.4843
- 2.8392 3.1941 3.5490 3.9039 4.2588 4.6136 4.9686)
- PRESSURE_DIRECTORY=(1.00e-08 2.50e-08 5.00e-08 7.50e-08 1.00e-07 3.00e-07 7.00e-07 1.00e-06
- 7.00e-06 1.00e-05 2.00e-05 4.00e-05 6.00e-05 8.00e-05 1.00e-04 2.00e-04
- 4.00e-04 6.00e-04 8.00e-04 1.00e-03 2.50e-03 5.00e-03 7.50e-03 1.00e-02
- 3.00e-02 6.00e-02 1.00e-01 3.33e-01 6.66e-01 1.00e+00 2.00e+00 4.00e+00
- 6.00e+00 8.00e+00 1.00e+01 2.50e+01 4.00e+01 5.50e+01 7.00e+01 9.50e+01)
- # Some functions to make the below more readable
- LS=/bin/ls
- SED=/bin/sed
- AWK=/bin/awk
- FC=/export/intel/compiler/bin/ifort
- FFLAGS="-tpp7 -O3 -i-static -static-libcxa"
- # Function to make required directory
- make_directory() {
- if [ ! -d $WORK_DIRECTORY ]; then
- mkdir -p $WORK_DIRECTORY
- fi
- cd $WORK_DIRECTORY
- for i in ${PORE_WIDTH_DIRECTORY[@]}
- do
- if [ ! -d w_${i}nm ]; then
- mkdir w_${i}nm
- fi
- for j in ${PRESSURE_DIRECTORY[@]}
- do
- if [ ! -d w_${i}nm/p_${j}kpa ]; then
- mkdir w_${i}nm/p_${j}kpa
- fi
- done
- done
- }
- # Function to compile source code
- compile_source_code() {
- cd $WORK_DIRECTORY
- $FC $FFALGS *.f
- }
- # Function to copy initial files to the corresponding directories
- copy_initial_file() {
- for i in ${PORE_WIDTH_DIRECTORY[@]}
- do
- for j in ${PRESSURE_DIRECTORY[@]}
- do
- cd $WORK_DIRECTORY
- cp a.out w_${i}nm/p_${j}kpa
- done
- done
- }
- # Function to clean temporary files
- clean_temporary_file() {
- for i in ${PORE_WIDTH_DIRECTORY[@]}
- do
- for j in ${PRESSURE_DIRECTORY[@]}
- do
- rm -rf w_${i}nm/p_${j}kpa/a.out
- done
- done
- }
复制代码 |
|