
Untitled
By:
metaoleg on
May 29th, 2012 | syntax:
Bash | size: 1.75 KB | hits: 107 | expires: Never
#!/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