LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 550|回复: 2

烦请大虾帮我审查下这段shell脚本

[复制链接]
发表于 2007-1-8 14:33:16 | 显示全部楼层 |阅读模式
工作需要,边学边写。暂时写了一小段,主要功能是建立计算数据点的目录。烦请指点一下其中的错误。


  1. #!/bin/bash
  2. #

  3. # Some variables settings
  4. WORK_DIRECTORY=/home/user/task

  5. PORE_WIDTH_DIRECTORY=(0.3549 0.7098 1.0647 1.4196 1.7745 2.1294 2.4843
  6.                       2.8392 3.1941 3.5490 3.9039 4.2588 4.6136 4.9686)

  7. 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
  8.                     7.00e-06 1.00e-05 2.00e-05 4.00e-05 6.00e-05 8.00e-05 1.00e-04 2.00e-04
  9.                     4.00e-04 6.00e-04 8.00e-04 1.00e-03 2.50e-03 5.00e-03 7.50e-03 1.00e-02
  10.                     3.00e-02 6.00e-02 1.00e-01 3.33e-01 6.66e-01 1.00e+00 2.00e+00 4.00e+00
  11.                     6.00e+00 8.00e+00 1.00e+01 2.50e+01 4.00e+01 5.50e+01 7.00e+01 9.50e+01)


  12. # Some functions to make the below more readable
  13. LS=/bin/ls
  14. SED=/bin/sed
  15. AWK=/bin/awk

  16. FC=/export/intel/compiler/bin/ifort
  17. FFLAGS="-tpp7 -O3 -i-static -static-libcxa"





  18. # Function to make required directory
  19. make_directory() {
  20.         if [ ! -d $WORK_DIRECTORY ]; then
  21.                 mkdir -p $WORK_DIRECTORY
  22.         fi

  23.         cd $WORK_DIRECTORY
  24.         for i in ${PORE_WIDTH_DIRECTORY[@]}
  25.         do
  26.                 if [ ! -d w_${i}nm ]; then
  27.                         mkdir w_${i}nm
  28.                 fi
  29.                 for j in ${PRESSURE_DIRECTORY[@]}
  30.                 do
  31.                         if [ ! -d w_${i}nm/p_${j}kpa ]; then
  32.                                 mkdir w_${i}nm/p_${j}kpa
  33.                         fi
  34.                 done
  35.         done
  36. }


  37. # Function to compile source code
  38. compile_source_code() {
  39.         cd $WORK_DIRECTORY
  40.         $FC $FFALGS *.f
  41. }


  42. # Function to copy initial files to the corresponding directories
  43. copy_initial_file() {
  44.         for i in ${PORE_WIDTH_DIRECTORY[@]}
  45.         do
  46.                 for j in ${PRESSURE_DIRECTORY[@]}
  47.                 do
  48.                         cd $WORK_DIRECTORY
  49.                         cp a.out w_${i}nm/p_${j}kpa
  50.                 done
  51.         done       
  52. }


  53. # Function to clean temporary files
  54. clean_temporary_file() {
  55.         for i in ${PORE_WIDTH_DIRECTORY[@]}
  56.         do
  57.                 for j in ${PRESSURE_DIRECTORY[@]}
  58.                 do
  59.                         rm -rf w_${i}nm/p_${j}kpa/a.out
  60.                 done
  61.         done       
  62. }


复制代码
发表于 2007-1-8 15:26:18 | 显示全部楼层
按照你的想法,应该用${}而不是$[]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-8 16:08:44 | 显示全部楼层
Post by Iambitious
按照你的想法,应该用${}而不是$[]


对的。这是一个错误
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表