Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 5.14 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #Запоминаем параметр запуска в переменной    
  4. param=$1
  5.  
  6. #Переменная с именем log-файла
  7. logger="/home/rexcore/Desktop/lab.log"
  8. #Переменная для хранения полного пути
  9. mainfolder="/home/rexcore/Desktop/Polyakov.Igor.i21d"  
  10.  
  11. #если уже существует папка с данным именем, то удаляем её
  12. # rm - удаление папки или директории
  13. # ключ -r - директория
  14. # ключ -f - не просить подтверждения
  15. # ключ -d перед $mainfolder -переменная является каталогом
  16.  
  17. if [ -d $mainfolder ]
  18. then
  19.     rm -rf $mainfolder && echo "Папка уже существует. Производится удаление." >> $logger
  20. fi
  21.  
  22. # Создаем новую папку
  23. # mkdir - создание директории
  24. mkdir $mainfolder &&
  25.     echo "Папка $mainfolder создана" >> $logger &&
  26.     echo "Папка $mainfolder создана"
  27.  
  28. # Ожидаем нажания клавиши
  29. read
  30.  
  31. # Сохраняем инициалы в переменную var
  32. var="PIV";
  33.  
  34. # Создаем подпапки
  35. for i in {1..3}; do
  36.         # mkdir - создание папки
  37.     mkdir $mainfolder/$var$i &&
  38.     echo "Папка $var$i создана" >> $logger &&
  39.     echo "Папка $var$i создана"
  40. done
  41.  
  42. # Ожидаем нажатия клавиши
  43. read
  44.  
  45. #создаем текстовый документ igor.txt
  46. echo "Поляков Игорь Вадимович И21-д" > $mainfolder/PIV1/igor.txt && echo "Запись в файл igor.txt завершена" >> $logger
  47. cd $mainfolder/PIV1
  48.  
  49. igr="$mainfolder/PIV1/igor.txt"
  50.  
  51. #создаем копию igor.txt в папке PIV2 и переименовываем в rogi.txt
  52. if [ $igr ]
  53. then
  54.     echo "Файл igor.txt создан" &&
  55.     echo "Файл igor.txt создан" >> $logger &&
  56.     cp igor.txt $mainfolder/PIV2 &&
  57.     echo "Файл igor.txt скопирован" >> $logger
  58. else
  59.     echo "Ошибка копирования файла" >> $logger
  60. fi
  61.  
  62. # Перемещаемся в папку PIV2
  63. cd $mainfolder/PIV2
  64.  
  65. rog="$mainfolder/PIV2/igor.txt"
  66.  
  67. if [ $rog ]
  68. then
  69.     mv igor.txt rogi.txt &&
  70.     echo "Файл igor.txt успешно скопирован и переименован в rogi.txt" &&
  71.     echo "Файл igor.txt успешно скопирован и переименован в rogi.txt" >> $logger
  72.     rog="$mainfolder/PIV2/rogi.txt"
  73. else
  74.     echo "Ошибка копирования" >> $logger
  75.     echo "Ошибка копирования" 
  76. fi
  77.  
  78. # Ожидаем нажатия клавиши
  79. read
  80.  
  81. #склеиваем файлы igor.txt и rogi.txt в результирующий с временным именем concatirog.txt
  82. if [ $rog ]
  83. then
  84.     cat rogi.txt $igr > "$mainfolder/PIV3/concatirog.txt" &&
  85.     echo "Склейка успешно произведена" &&
  86.     echo "Склейка успешно произведена" >> $logger &&
  87.     concat="$mainfolder/PIV3/concatirog.txt"
  88. fi
  89.  
  90. # Ожидаем нажатия клавиши
  91. read
  92.  
  93. # Переименовываем склеенный файл согласно выбранному имени и копируем в корневой каталог
  94. cd $mainfolder/PIV3
  95. if [ -z $param ]
  96. then  #если не введен параметр
  97.     echo "Параметр не введен" >> $logger &&
  98.         echo "Введите имя файла" >> $logger &&
  99.     echo "Введите имя файла" &&
  100.     read name &&
  101.     newname=$name.txt &&
  102.     echo "Файл будет иметь следующее имя: $newname" &&
  103.     echo "Файл будет иметь следующее имя: $newname" >> $logger &&
  104.     mv $concat $newname &&
  105.     cp $newname $mainfolder
  106. else  #если введен параметр
  107.     echo "Параметр введен" >> $logger && 
  108.     mv $concat $param.txt &&
  109.     echo "Параметр введен" &&
  110.     newname=$param.txt &&
  111.     echo "Файл будет иметь следующее имя: $newname" &&
  112.     echo "Файл будет иметь следующее имя: $newname" >> $logger &&
  113.     cp $newname $mainfolder
  114. fi
  115. read
  116.  
  117. #печатаем содержимое файла
  118. newname=$mainfolder/$newname
  119. if [ $newname ]
  120. then
  121.     echo "Производится печать файла. Нажмите любую клавишу для продолжения" &&
  122.     read &&
  123.     echo "Производится печать файла. Нажмите любую клавишу для продолжения" >> $logger &&  
  124.     cat $newname
  125. fi
  126. read
  127.  
  128. #удаление основного каталога со всем содержимым
  129. echo "Производится удаление папки $mainfolder. Нажмите любую клавишу для продолжения" &&
  130. echo "Производится удаление папки $mainfolder. Нажмите любую клавишу для продолжения" >> $logger
  131. read
  132. rm -rf $mainfolder &&
  133. echo "Папка удалена" &&
  134. echo "Папка удалена" >> $logger
  135. read
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement