Text User Interface (TUI) com whiptail

Publicado por erick Darko (última atualização em 11/06/2019)

[ Hits: 877 ]

Homepage: ...

Download scan_tui.sh




Este script procura por arquivos a partir da sua extensão e os deleta. Para aqueles que tem interesse em criar scripts utilizando caixas de dialogo, whiptail é uma boa opção, pois é prático e de fácil entendimento.

  



Esconder código-fonte

#!/usr/bin/env bash
#author         :erickDarko
#date           :20190522
#usage          :bash scan_tui.sh
#bash_version   :4.4.12(1)-release
#dependencies   :whiptail
#==================================================================
if [ ! -x "$(which whiptail)" ];then
    # verifica se o whiptail está instaldo
    printf "install whiptail\n"
    exit 1
elif [[ "`pwd`" = "$HOME" || ! `pwd | grep $HOME` ]];then
    # verifica se o script está sendo executado no diretório $HOME
    printf "run this script in the `pwd` directory is not secure\n"
    exit 1
fi
# cria um array a partir dos items selecionados no whiptail(TUI)
# com as extensões dos arquivos a serem deletados
files=($(whiptail --title "`pwd`" --checklist --noitem --fb \
"Select the files to be removed" 18 50 8    \
"*.jpeg" OFF    \
"*.jpg" OFF     \
"*.png" OFF     \
"*.txt" OFF     \
"*.bat" ON      \
"*.htm" ON      \
"*.url" ON      \
"*.exe" ON      \
3>&1 1>&2 2>&3))
[ $? -ne 0 ] && exit
whiptail --fb --title "`pwd`" --yesno "Do you want to proceed?" 10 50 || exit 1
for i in ${files[@]};do
    # o whiptail adiciona aspas, oque impediría que encontra-se
    # os arquivos, uma solução foi cortar a variável para que
    # começa-se a partir do 2 caractere e termina-se no penúltimo
    find -iname ${i:1:-1} -type f -exec rm -v "{}" \;
done
# remove arquivos vazios
find -empty -exec rm -rv "{}" \;

Scripts recomendados

phpserver

ZPenBoot - Gravando imagem ISO em um pendrive

Removendo lixo do sistema

Backup c/ LOG, Grava CD e manda LOG p/ email

Gravar uma imagem ISO em um CD-RW


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário