Text User Interface (TUI) com whiptail

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

[ Hits: 2.328 ]

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

Criar pacote Slackware

Script simples de procura de arquivo.

rndm - RaNDom Music

Unzip para todos

Postando no Twitter


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts