Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # a. Скрипту передается один параметр - имя файла в текущем каталоге вызова скрипта.
- # b. Скрипт проверяет, создан ли скрытый каталог trash в домашнем каталоге пользователя. Если он не создан - создает его.
- # c. После этого скрипт создает в этом каталоге жесткую ссылку на переданный файл с уникальным именем (например, присваивает каждой новой ссылке имя, соответствующее следующему натуральному числу) и удаляет файл в текущем каталоге.
- # d. Затем в скрытый файл trash.log в домашнем каталоге пользователя помещается запись, содержащая полный исходный путь к удаленному файлу и имя созданной жесткой ссылки.
- home="/home/oleg"
- trashfolder=$home"/.trash"
- trashlog=$home"/.trash.log"
- filename=$1
- E_FILE_NOT_EXIST="File $filename does not exist"
- M_OK="A winrar is you!"
- M_MLP_PINKIEPIE_WATCHING="Pinkie Pie watching you! Forever!"
- if [ ! -d "$trashfolder" ];
- then
- mkdir $trashfolder
- lastfile=0
- else
- lastfile=$(ls -1 -r $trashfolder | head -1)
- if [ "$lastfile" == "" ];
- then
- lastfile=0
- else
- let lastfile+=1
- fi
- fi
- if [ ! -e "$trashlog" ];
- then
- touch $trashlog
- fi
- if [ -e "$filename" ];
- then
- ln $filename $trashfolder/$lastfile
- rm -f $filename
- echo $filename/$trashfolder/$lastfile >> $trashlog
- echo $M_OK
- else
- echo $E_FILE_NOT_EXIST
- fi
- exit 1
Advertisement
Add Comment
Please, Sign In to add comment