Skip to content

Instantly share code, notes, and snippets.

@paul-ihnatolia
Created February 28, 2012 13:50
Show Gist options
  • Save paul-ihnatolia/1932674 to your computer and use it in GitHub Desktop.
Save paul-ihnatolia/1932674 to your computer and use it in GitHub Desktop.
Bash programming(V-7)
#!/bin/bash #вказуємо шлях інтерпретатора
searchF(){ #функція для перевірки наявності всіх установлених програмок
echo -e "Searching for unrar, unzip and tar installed in your system"
if [ -x "/usr/bin/unrar" ] #перевірки чи установлений unrar
then
echo -e "\tUnrar detected!"
else
echo -e "\tUnrar wasn't detected :("
fi
if [ -x "/usr/bin/unzip" ] #перевірка чи установ unzip
then
echo -e "\tUnzip detected!"
else
echo -e "\tUnzip was't detected :("
fi
if [ -x "/bin/tar" ] #перевірка чи установлений tar
then
echo -e "\tTar detected!"
else
echo -e "\tTar wasn't detected :("
fi
}
if [ $# -lt 1 ] #перевіряємо кількість переданих аргументів
then
echo "Wrong number of arguments!"
else
searchF #викликаємо вище створену функцію
for i in $@ # виконуємо цикл для кожного з переданих аргументів
do
isArchive=$(file $i | grep -i 'archive') #перевіряємо чи це архів
if [ -n "$isArchive" ] #якщо архів
then
echo -e "File $i is archive" #виводимо повідомлення
echo -e "\tDetecting a type of archive"
if [ -n "$(file $i | grep -i 'rar')" ] #тут і далі знаходимо тип архіву
then #і в залежності від типу будемо розархівовувати його відповідною
echo -e "\tType: rar!\n\tUnraring..." #програмою
$(unrar -inul e $i)
elif [ -n "$(file $i | grep -i 'zip')" ]
then
echo -e "\tType: zip\n\tUnziping..."
$(unzip -o $i)
elif [ -n "$(file $i | grep -i 'tar')" ]
then
echo -e "\tType tar\n\tUntaring"
$(tar -xvf $i)
else
echo "Unknown type of archive!" #виводимо повідомлення якщо тип архіву невідомий
fi
fi
done
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment