Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
8
Добавлен:
26.05.2014
Размер:
2 Кб
Скачать
☆
PrgName=$0

OldPath=`pwd`

Count=$#

for CmdVar
do
   CurDir=$CmdVar
   echo CurDir=$CurDir

   if test -d $CurDir
   then
      cd $CurDir

      for CurFile in *
      do
         echo CurFile=$CurFile

         if test -d $CurFile
         then
            NewDir="`expr $CurDir : '\(.*\)/$' \| $CurDir`/$CurFile'"
            echo NewDir=$NewDir

            cd $OldPath
            eval "$PrgName $NewDir"
            cd $CurDir
         else
            FileNameSimple=`expr $CurFile : '.*/\(.*\)' \| $CurFile`
            echo FileNameSimple=$FileNameSimple
            FileExt=`expr $FileNameSimple : '.*\.\(.*\)'`
            echo FileExt=$FileExt

            test \"$FileExt\" != \"\" && test $FileExt = "c" -o $FileExt = "cpp"
            if test $? -eq 0 
            then
               FileNameFull=`pwd`
               FileNameFull="`expr $FileNameFull : '\(.*\)/$' \| $FileNameFull`"
               FileNameFull="$FileNameFull/$FileNameSimple"

               while true
               do
                  echo "Skompilirovat' fail ${FileNameFull}(yes/no)/?"
                  read Answ
                  echo Answ=$Answ

                  if test $Answ = "yes" -o $Answ = "no"
                  then
                     break
                  fi

                  echo "Neverniy vvod"
               done

               if test $Answ = "yes"
               then
                  while true
                  do
                     gcc $CurFile

                     if test $? -ne 0   
                     then
                       while true
                       do
                          echo "Vizvat' dlya etogo faila redaktor vi(yes/no)/?"
                          read Answ
                          echo Answ=$Answ

                          if test $Answ = "yes" -o $Answ = "no"
                          then
                             break
                          fi

                          echo "Neverniy vvod"
                       done

                       if test $Answ = "no"
                       then
                          break
                       fi

                       vi $CurFile
                     else
                       break
                     fi
                  done
               fi
            fi
         fi
      done

      cd $OldPath
   else
      echo "Katalog $CurDir neverniy"
   fi
done
Соседние файлы в папке prog