metaoleg

Untitled

May 29th, 2012
624
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.75 KB | None | 0 0
  1. #!/bin/bash
  2. # a. Скрипту передается один параметр - имя файла в текущем каталоге вызова скрипта.
  3. # b. Скрипт проверяет, создан ли скрытый каталог trash в домашнем каталоге пользователя. Если он не создан - создает его.
  4. # c. После этого скрипт создает в этом каталоге жесткую ссылку на переданный файл с уникальным именем (например, присваивает каждой новой ссылке имя, соответствующее следующему натуральному числу) и удаляет файл в текущем каталоге.
  5. # d. Затем в скрытый файл trash.log в домашнем каталоге пользователя помещается запись, содержащая полный исходный путь к удаленному файлу и имя созданной жесткой ссылки.
  6.  
  7. home="/home/oleg"
  8. trashfolder=$home"/.trash"
  9. trashlog=$home"/.trash.log"
  10. filename=$1
  11. E_FILE_NOT_EXIST="File $filename does not exist"
  12. M_OK="A winrar is you!"
  13. M_MLP_PINKIEPIE_WATCHING="Pinkie Pie watching you! Forever!"
  14.  
  15. if [ ! -d "$trashfolder" ];
  16. then
  17.     mkdir $trashfolder
  18.     lastfile=0
  19. else
  20.     lastfile=$(ls -1 -r $trashfolder | head -1)
  21.     if [ "$lastfile" == "" ];
  22.     then
  23.         lastfile=0
  24.     else
  25.         let lastfile+=1
  26.     fi
  27. fi
  28.  
  29. if [ ! -e "$trashlog" ];
  30. then
  31.     touch $trashlog
  32. fi
  33.  
  34. if [ -e "$filename" ];
  35. then
  36.     ln $filename $trashfolder/$lastfile
  37.     rm -f $filename
  38.     echo $filename/$trashfolder/$lastfile >> $trashlog
  39.     echo $M_OK
  40. else
  41.     echo $E_FILE_NOT_EXIST
  42. fi
  43.  
  44. exit 1
Advertisement
Add Comment
Please, Sign In to add comment