Libreria comandi

Condividi con noi i tuoi progetti e guide personali
Rispondi
mac89
Novello Arciere
Messaggi: 58
Iscritto il: 21 agosto 2013, 17:28

Libreria comandi

Messaggio da mac89 » 1 febbraio 2014, 13:08

Salve, sto scrivendo un piccolo script in bash che esegue dei semplici comandi; lo script non è ancora completo ed è in continuo sviluppo.
Chi volesse scaricarlo e provarlo per segnalarmi errori ed eventuali implementazioni dello script lo può prelevare al seguente link:
Libreria comandi v0.3 Beta
Libreria comandi v0.3 Beta

Codice: Seleziona tutto

Codice dello script
#!/bin/bash

# IMPORTANTE
# Se stai leggendo questo messaggio
# e non hai aperto volontariamente il programma con un editor di testo
# devi uscire; quindi premere con il tasto destro del mouse sopra al file,
# cliccare proprietà, selezionare permessi ed abilitare CONSENTI L'ESECUZIONE DEL FILE.
# Altrimenti puoi aprire un terminale, dirigerti nella cartella che contiene il file "cd ~/Scrivania"
# e digitare "chmod +x nomefile"

#########################################################
####RICONOSCIMENTI#######################################
#########################################################

ver=0.3
riconoscimenti="Libreria comandi By Mac89				          v$ver"

#########################################################
####FUNZIONI GESTIONALI##################################
#########################################################

##COLORI##
RED="\e[0;31m"
GREEN="\e[0;32m"
BLUE="\e[0;34m"
YELLOW="\e[1;33m"
Z="\e[0m"

function cancel()
{
	clear
	echo $riconoscimenti
	echo ""
}

function returne()
{
	cancel
	inizio
	exit	
}

function check_prog_auto()
{
	if which sudo &>/dev/null; then
		sudo=1
		prog=1
	else
		sudo=0
	fi

	if which paccache &>/dev/null; then
		paccache=1
		prog=$(($prog+1))
	else
		paccache=0
	fi

	if which bleachbit &>/dev/null; then
		prog=$(($prog+1))
		bleachbit=1
	else
		bleachbit=0
	fi

	if which yaourt &>/dev/null; then
		prog=$(($prog+1))
		yaourt=1
	else
		yaourt=0
	fi
}

#########################################################
####FUNZIONI#############################################
#########################################################

###CONTROLLO PROGRAMMI###

function sudo_c()
{
	if which sudo &>/dev/null; then
		sudo=1
		prog=1
		echo -e "Sudo..............................[$GREEN OK $Z]"
	else
		sudo=0
		prog=0
		echo -e "Sudo............................[$RED FAIL $Z]"
	fi
}

function paccache_c()
{
	if which paccache &>/dev/null; then
		paccache=1
		prog=$(($prog+1))
		echo -e "Paccache..........................[$GREEN OK $Z]"
	else
		paccache=0
		echo -e "Paccache........................[$RED FAIL $Z]"
	fi
}

function bleachbit_c()
{
	if which bleachbit &>/dev/null; then
		prog=$(($prog+1))
		bleachbit=1
		echo -e "Bleachbit.........................[$GREEN OK $Z]"
	else
		bleachbit=0
		echo -e "Bleachbit.......................[$RED FAIL $Z]"
	fi
}

function yaourt_c()
{
	if which yaourt &>/dev/null; then
		prog=$(($prog+1))
		yaourt=1
		echo -e "Yaourt............................[$GREEN OK $Z]"
	else
		yaourt=0
		echo -e "Yaourt..........................[$RED FAIL $Z]"
	fi
}

###CONTROLLO PROGRAMMI FINE###

function install_program()
{
	total=$(($yaourt+$bleachbit+$paccache+$sudo))
	read -p "Vuoi installare tutti i programmi mancanti [S\n] " sel
	if [[ $sel = @(s|S) ]]; then
		if [[ $yaourt == 0 ]]; then
			sudo pacman -S yaourt
		fi
		if [[ $bleachbit == 0 ]]; then
			sudo pacman -S bleachbit
		fi
		if [[ $paccache == 0 ]]; then
			sudo pacman -S paccache
		fi
		if [[ $sudo == 0 ]]; then
			sudo pacman -S sudo
		fi
		
	elif [[ $sel = @(n|N) ]]; then
		if [[ $yaourt == 0 ]]; then
			read -p "Vuoi installare Yaourt [S\n] " sel
			if [[ $sel = @(s|S) ]]; then
				sudo pacman -S yaourt
			else
				echo -e "$RED Yaourt non verrà installato $Z"
			fi
		fi
		if [[ $bleachbit == 0 ]]; then
			read -p "Vuoi installare Bleachbit [S\n] " sel
			if [[ $sel = @(s|S) ]]; then
				sudo pacman -S bleachbit
			else
				echo -e "$RED Bleachbit non verrà installato $Z"
			fi
		fi
		if [[ $paccache == 0 ]]; then
			read -p "Vuoi installare Paccache [S\n] " sel
			if [[ $sel = @(s|S) ]]; then
				sudo pacman -S paccache
			else
				echo -e "$RED Paccache non verrà installato $Z"
			fi
		fi
		if [[ $sudo == 0 ]]; then
			read -p "Vuoi installare Sudo [S\n] " sel
			if [[ $sel = @(s|S) ]]; then
				sudo pacman -S sudo
			else
				echo -e "$RED Sudo non verrà installato $Z"
			fi
		fi
	fi
}

function install_pacman()
{
	read -p "Vuoi prima cercare l'applicazione [N\s]" sel
	if [[ $sel = @(n|N) ]]; then
		read -p "Digita il nome dell'applicazione da installare " software
		sudo pacman -S $software
	elif [[ $sel = @(s|S) ]]; then
		read -p "Digita il nome dell'applicazione da cercare " software
		pacman -Ss $software
		read -p "Digita il nome dell'applicazione da installare " software
		sudo pacman -S $software
	else
		install_pacman
	fi
	sel=""
	software=""
	returne
}

function install_yaourt()
{
	yaourt_c
	if [ $yaourt == 1 ]; then
		read -p "Digita il nome dell'applicazione da installare " software
		yaourt $software
		software=""
		returne
	else
		echo -e "$BLUE Mi dispiace il software Yaourt non è installato $Z"
		echo "Ritorno alla schermata iniziale tra 7 Sec"
		sleep 7
		returne
	fi
}

function agg_yaourt()
{
	yaourt_c
	if [ $yaourt == 1 ]; then
		echo "Aggiornamento S.O. con yaourt..."
		sudo yaourt -Syua
		returne
	else
		echo -e "$BLUE Mi dispiace il software Yaourt non è installato $Z"
		echo "Ritorno alla schermata iniziale tra 7 Sec"
		sleep 7
		returne
	fi
}

function agg_pacman()
{
	echo "Aggiornamento S.O. con pacman..."
	sudo pacman -Syu
	returne
}

function pacman_ott()
{
	echo "Ottimizzazione database pacman..."
	sudo pacman-optimize
	returne
}

function cache_del_paccache()
{
	paccache_c
	if [ $paccache == 1 ]; then
		echo "Rimozione cache pacchetti pacman (Paccache)..."
		sudo paccache -rvk1
		echo "Ritorno alla schermata iniziale tra 7 Sec"
		sleep 7
		returne
	else
		echo -e "$BLUE Mi dispiace il software Paccache non è installato $Z"
		echo "Ritorno alla schermata iniziale tra 7 Sec"
		sleep 7
		returne
	fi
}

function cache_del()
{
	echo "Rimozione cache pacman..."
	sudo pacman -Sc
	returne
}

function cache_del_full()
{
	echo "Rimozione totale della cache pacman..."
	sudo pacman -Scc
	returne
}

function remove_orfan()
{
	echo "Rimozione pacchetti orfani"
	sudo pacman -Rs $(pacman -Qtdq)
	returne
}

function remove_soft_full()
{
	read -p "Vuoi prima cercare l'applicazione [S\n]" sel
	if [[ $sel = @(n|N) ]]; then
		read -p "Digita il nome dell'applicazione da rimuovere " software
		sudo pacman -Rs $software
	elif [[ $sel = @(s|S) ]]; then
		read -p "Digita il nome dell'applicazione da cercare " software
		pacman -Qs | grep -i local/$software
		software=""
		read -p "Digita il nome dell'applicazione da rimuovere " software
		sudo pacman -Rs $software
	else
		remove_soft_full
	fi
	returne
}

function remove_soft()
{
	read -p "Vuoi prima cercare l'applicazione [S\n]" sel
	if [[ $sel = @(n|N) ]]; then
		read -p "Digita il nome dell'applicazione da rimuovere " software
		sudo pacman -R $software
	elif [[ $sel = @(s|S) ]]; then
		read -p "Digita il nome dell'applicazione da cercare " software
		pacman -Qs | grep -i local/$software
		software=""
		read -p "Digita il nome dell'applicazione da rimuovere " software
		sudo pacman -R $software
	else
		remove_soft
	fi
	returne
}

function run_bleachbit()
{
	bleachbit_c
	if [ $bleachbit == 1 ]; then
		su -c '
		bleachbit &>/dev/null'
		returne
	else
		echo -e "$BLUE Mi dispiace il software Bleachbit non è installato $Z"
		echo "Ritorno alla schermata iniziale tra 7 Sec"
		sleep 7
		returne
	fi
}

function root_manager()
{
	read -p "Vuoi aprire una posizione specifica [S\n]" sel
	if [[ $sel = @(n|N) ]]; then
		echo "Il file manager si aprirà in radice "
		su -c '
		xdg-open / &>/dev/null'
		returne
	elif [[ $sel = @(s|S) ]]; then
		su -c '
		read -p "Digita il percorso " per
		xdg-open $per &>/dev/null'
		returne
	else
		root_manager
	fi
}

#########################################################
####SOTTO CATEGORIE######################################
#########################################################

function install()
{
	cancel
	
	declare -a options

	options[${#options[*]}]="Installare software con Pacman";
	options[${#options[*]}]="Installare software con Yaourt";
	options[${#options[*]}]="Esci";
	select opt in "${options[@]}"; do
	case ${opt} in

	${options[0]}) install_pacman;;
	${options[1]}) install_yaourt;;
	${options[2]}) returne;;
	
	esac;
	done
}

function manutenzione()
{
	cancel
	
	declare -a options
	
	options[${#options[*]}]="Aggiornare il S.O. (pacman)";
	options[${#options[*]}]="Aggiornare il S.O. (yaourt)";
	options[${#options[*]}]="Ottimizzare database pacman";
	options[${#options[*]}]="Rimuove cache pacchetti (mantiene solo la penultima versione (Paccache))";
	options[${#options[*]}]="Rimuove cache pacchetti scaricati ed attualmente non installati";
	options[${#options[*]}]="Rimuove cache pacchetti (Sconsigliata)";
	options[${#options[*]}]="Rimuovere pacchetti orfani";
	options[${#options[*]}]="Rimuovere Software con tutte le sue dipendenze";
	options[${#options[*]}]="Rimuovere Software";
	options[${#options[*]}]="Esci";
	select opt in "${options[@]}"; do
	case ${opt} in

	
	${options[0]}) agg_pacman;;
	${options[1]}) agg_yaourt;;
	${options[2]}) pacman_ott;;
	${options[3]}) cache_del_paccache;;
	${options[4]}) cache_del;;
	${options[5]}) cache_del_full;;
	${options[6]}) remove_orfan;;
	${options[7]}) remove_soft_full;;
	${options[8]}) remove_soft;;
	${options[9]}) returne;;
	
	esac;
	done
}

function check_programm()
{
	cancel
	echo "Controllo presenza programmi..."
	echo ""
	sudo_c
	paccache_c
	bleachbit_c
	yaourt_c
	if [ $prog == 4 ]; then
		echo -e "$GREEN Tutti i programmi supplementari sono presenti $Z"
		echo "Attenti..."
		sleep 7
		returne
	elif [ $prog -ge 1 ]; then
		echo "Alcuni programmi supplementari non sono presenti"
		read -p "Vuoi installarli [S\n]" sel
		if [[ $sel = @(n|N) ]]; then
			echo "Alcune funzioni dello script saranno disabilitate"
		elif [[ $sel = @(s|S) ]]; then
			install_program
		else
			install_program
		fi
		sel=""
		sleep 3
		returne
	else
		echo -e "$RED Tutti i programmi supplementari non sono prensenti $Z"
		read -p "Vuoi installarli [S\n]" sel
		if [[ $sel = @(n|N) ]]; then
			echo "Alcune funzioni dello script saranno disabilitate"
		elif [[ $sel = @(s|S) ]]; then
			install_program
		else
			install_program
		fi
		sel=""
		sleep 3
		returne
	fi

}

function comandi_utili()
{
	cancel
	
	declare -a options
	options[${#options[*]}]="Avvia file manager come root";
	options[${#options[*]}]="Esci";
	select opt in "${options[@]}"; do
	case ${opt} in
	
	${options[0]}) root_manager;;
	${options[1]}) returne;;

	esac;
	done
}

function run_external_program()
{
	cancel
	
	declare -a options
	options[${#options[*]}]="Avvia Bleachbit Root";
	options[${#options[*]}]="Esci";
	select opt in "${options[@]}"; do
	case ${opt} in
	
	${options[0]}) run_bleachbit;;
	${options[1]}) returne;;

	esac;
	done
}

#########################################################
####FUNZIONE INIZIALE####################################
#########################################################

function inizio()
{

	declare -a options
	options[${#options[*]}]="Installare software";
	options[${#options[*]}]="Manutenzione distribuzione";
	options[${#options[*]}]="Esegui programmi";
	options[${#options[*]}]="Comandi utili";
	options[${#options[*]}]="Controlla/Installa programmi supplementari";
	options[${#options[*]}]="Esci";
	select opt in "${options[@]}"; do
	case ${opt} in
	
	${options[0]}) install;;
	${options[1]}) manutenzione;;
	${options[2]}) run_external_program;;
	${options[3]}) comandi_utili;;
	${options[4]}) check_programm;;
	
	(Esci) break; ;;
	esac;
	done
}

#########################################################
####RICHIAMO PRIMA FUNZIONE##############################
#########################################################

echo "
#########################################################
#			ATTENZIONE!!!!!			#
#	   Questo script ha bisogno di software		#
#      supplemetari (Yaourt,Paccache,Bleachbit)		#
#	 per eseguire tutte le sue funzionalità.	#
#	   SCEGLIEDO DI UTILIZZARE QUESTO SCRIPT	#
#    ESULI IL SUO WRITER DA QUALSIASI RESPONSABILITÀ	#
#  By Mac89				          v$ver	#
#########################################################"

check_prog_auto
inizio




marcphemt
Novello Arciere
Messaggi: 121
Iscritto il: 11 dicembre 2012, 23:46

Re: Libreria comandi

Messaggio da marcphemt » 18 marzo 2014, 10:47

Ho provato lo script e devo dire che è molto interessante :)
Potresti implementare nei comandi di pacman:

Codice: Seleziona tutto

#pacman -Qqe > pkg
Per fare un backup dei pacchetti installati e:

Codice: Seleziona tutto

#pacman -S $(cat pkg)
per reinstallarli tutti quanti..
Secondo me sarebbe comoda anche una funzione per vedere lo status di tutti i servizi attivi di systemd e magari anche per attivarne e disabilitarne alcuni..
Che ne pensi?

mac89
Novello Arciere
Messaggi: 58
Iscritto il: 21 agosto 2013, 17:28

Re: Libreria comandi

Messaggio da mac89 » 23 marzo 2014, 9:10

Grazie per il commento, sono contento che qualcuno abbia trovato utile lo script, cercherò di implementare le funzioni che hai indicato sopra, in più volevo aggiungere anche una funzione che cancella le eventuali cartelle di configurazione dei programmi, presenti nella home e non più installati.

marcphemt
Novello Arciere
Messaggi: 121
Iscritto il: 11 dicembre 2012, 23:46

Re: Libreria comandi

Messaggio da marcphemt » 23 marzo 2014, 14:45

Ah, bella idea!! Così un qualsiasi utente può mantenere la cartella .config sempre pulita....interessante........ :)

mac89
Novello Arciere
Messaggi: 58
Iscritto il: 21 agosto 2013, 17:28

Re: Libreria comandi

Messaggio da mac89 » 29 marzo 2014, 10:05

Ho aggiornato lo script, nella sezione comandi utili troverete l'opzione di backup suggerita da marcphemt
Libreria comandi v0.4 (beta)

mac89
Novello Arciere
Messaggi: 58
Iscritto il: 21 agosto 2013, 17:28

Re: Libreria comandi

Messaggio da mac89 » 12 aprile 2014, 11:03

Ho aggiornato lo script, nella sezione comandi utili troverete l'opzione "Aggiungi/Rimuovi pachetti a IgnorePkg"
Libreria comandi v0.5 (beta)
Libreria comandi v0.5.1 (beta) fix bug

marcphemt
Novello Arciere
Messaggi: 121
Iscritto il: 11 dicembre 2012, 23:46

Re: Libreria comandi

Messaggio da marcphemt » 12 aprile 2014, 19:59

Ottimo lavoro!! Bravo!! :D

mac89
Novello Arciere
Messaggi: 58
Iscritto il: 21 agosto 2013, 17:28

Re: Libreria comandi

Messaggio da mac89 » 12 aprile 2014, 20:19

Grazie, sono al lavoro per implementare le altre due funzioni:
> funzione che cancella le eventuali cartelle di configurazione dei programmi, presenti nella home e non più installati
>status di tutti i servizi attivi di systemd e magari anche per attivarne e disabilitarne alcuni

mac89
Novello Arciere
Messaggi: 58
Iscritto il: 21 agosto 2013, 17:28

Re: Libreria comandi

Messaggio da mac89 » 19 ottobre 2014, 13:53

Salve, torno qui per aggiornarvi sul mio progetto (sempre se vi interessa :) ), dato il poco tempo a disposizione, e la mia poca conoscenza nella programmazione ho deciso di abbandonare il progetto, rilasciando l'ultima versione la 0.6.1. Rilascio anche il codice che avevo incominciato a scrivere con marcphemt (progetto parallelo che doveva svolgere una pulizia delle cartelle di configurazione di programmi disinstallati e quindi non piu necessarie ); eravamo arrivati ad un buon punto, colgo l'occasione per ringraziarlo per la sua collaborazione.
Ribadisco che non sono un programmatore quindi non do alcuna garanzia sul lavoro da me svolto.

Libreria comandi v 0.6.1
note versione 0.6.1:
fix: non_aggiornare_pkg
fix: yaourt>install_program
add: rapid cleen
add: SpeedRunPacman
add axel>install_program

codice del progetto parallelo

Codice: Seleziona tutto

#!/bin/bash

GREEN="\e[0;32m"
RED="\e[0;31m"
Z="\e[0m"



function begin()
{
	if [ -e /home/$USER/.Libreria_comandi/controllo ]; then
		c=0 # esite
	else
		c=1 # non esite
	fi
	#ls /home/$USER/.Libreria_comandi/Data_download_controllo 2>dev/null && c=0 || c=1 # c=0 esite
	if [ $c == 0 ]; then
		echo "l'ultima volta che hai aggiornato il file di controllo è stato:"
		echo "$(sed -n 1p /home/$USER/.Libreria_comandi/Data_download_controllo)"
		read -p "Vuoi aggiornarlo? " sel
			if [[ $sel = @(s|S) ]]; then
				echo "Hai scelto di aggiornare il file di controllo OK"
				sleep 2
				file_controllo_download
			elif [[ $sel = @(n|N) ]]; then
				echo "Hai scelto di non aggiornare il file di controllo OK"
				sleep 2
			else
				begin
			fi
	else
		file_controllo_download
	fi
}
     
function file_controllo_download
{
	cd /home/$USER/.Libreria_comandi
	rm controllo
	date >  Data_download_controllo
	echo "Download File di controllo..."
	sleep 3
	wget https://github.com/marcphemt/scrpts/raw/master/controllo
	cd
	if [ -e /home/$USER/.Libreria_comandi/controllo ]; then
		c=0 # esite
	else
		c=1 # non esite
	fi
	if [ $c == 0 ]; then
		echo -e "Download............................................[$GREEN OK $Z]"
		echo "il file di controllo serve per il coretto funzionamento dello script!"
		echo "Puoi trovare il file di controllo in /home/$USER/"
		echo "e puoi modificarlo all' occorrenza!!"
		echo "Premi ENTER"
		read
	else
		echo -e "$RED Ooopppsss questo e imbarazzante $Z"
		echo -e "Download............................................[$RED FAIL $Z]"
		echo "Premi ENTER per riprovare"
		read
		file_controllo_download
	fi
}

function control()
{
	mkdir /home/$USER/.Libreria_comandi/temp
	# Creazione lista cartelle contenute nella home e nella cartella .config
    cd
    ls -d .* > ~/.Libreria_comandi/temp/list
    cd ~/.config
    ls >> ~/.Libreria_comandi/temp/list
    cd
    cd
    cd ~/.Libreria_comandi/temp/
    #cd ~/.mozilla
    #ls | grep fire >> ~/.Libreria_comandi/temp/list
    #cd ~/.adobe
    #ls >> ~/.Libreria_comandi/temp/list
    #cd ~/.macromedia
    #ls >> ~/.Libreria_comandi/temp/list
    
    # Pulizia file list
    sed -i 's/\.//g' ~/.Libreria_comandi/temp/list #toglie i punti
    sed -i 's/\///g' ~/.Libreria_comandi/temp/list #TOGLIE BARRE
    sed -i '/^$/d' ~/.Libreria_comandi/temp/list #cancella righe binache
    sed -i 's/\_/ /g' ~/.Libreria_comandi/temp/list #Sotituisce '_' con ' '
    sed -i 's/\-/ /g' ~/.Libreria_comandi/temp/list #Sotituisce '-' con ' '
    sed -i 's/AbiSuite/abiword/g' ~/.Libreria_comandi/temp/list
    sed -i 's/magick/imagemagick/g' ~/.Libreria_comandi/temp/list
    awk '{print $1}' ~/.Libreria_comandi/temp/list > ~/.Libreria_comandi/temp/list_clean
    awk '{print $1}' ~/.Libreria_comandi/temp/list | tr 'A-Z' 'a-z' > ~/.Libreria_comandi/temp/list_clean_no_case_sensitive
	
	# Creazione file pkg contenente i nomi di tutti i programmi
    pacman -Qqe > ~/.Libreria_comandi/temp/pkg
    
    # Pulizia file pkg
    sed -i 's/\.//g' ~/.Libreria_comandi/temp/pkg #toglie i punti
    sed -i 's/\///g' ~/.Libreria_comandi/temp/pkg #TOGLIE BARRE
    sed -i '/^$/d' ~/.Libreria_comandi/temp/pkg #cancella righe binache
    sed -i 's/\_/ /g' ~/.Libreria_comandi/temp/pkg #Sotituisce '_' con ' '
    sed -i 's/\-/ /g' ~/.Libreria_comandi/temp/pkg #Sotituisce '-' con ' '
    awk '{print $1}' ~/.Libreria_comandi/temp/pkg > ~/.Libreria_comandi/temp/pkg_clean

	# Eliminazione file non controllabili ------------------------------------------
    #grep -v -f ~/.Libreria_comandi/temp/controllo ~/.Libreria_comandi/temp/list_clean_no_case_sensitive > ~/.Libreria_comandi/temp/controllo
    #cd ~/.Libreria_comandi/temp/
    #grep -v -f ~/pkg_clean ~/list_clean | uniq > ~/file
	grep -v -f ~/.Libreria_comandi/temp/pkg_clean ~/.Libreria_comandi/temp/list | uniq | sort > ~/.Libreria_comandi/temp/file
    # ------------------------------------
    
	# Confronto 
    n_rig_file=$(wc -l ~/.Libreria_comandi/temp/file | awk '{print $1}') #Numero Righe Contenute in list
    n_rig_file=$(($n_rig_file+1))
    n_rig_pkg=$(wc -l ~/.Libreria_comandi/temp/~/.Libreria_comandi/temp/pkg_clean | awk '{print $1}') #Numero Righe Contenute in list
    n_rig_pkg=$(($n_rig_pkg+1))

    N=1
    while [ "$n_rig_file" -ne "$N" ];
    do
    pacman -Qqe $(sed -n "${N}p" ~/.Libreria_comandi/temp/file | tr 'A-Z' 'a-z') 2>/dev/null && c=0 || c=1 #Diamo in pasto le righe di list al comando pacman -Q (C=0 trovato)
    if [ "$c" == 0 ]; then
    del=$(sed -n "${N}p" ~/.Libreria_comandi/temp/file)
    sed -i "/$del/d" ~/.Libreria_comandi/temp/file
    N=$(($N+1))
    else
    N=$(($N+1))
    fi
    echo "controllo $N/$n_rig_file"
    done

    N=1
    while [ "$n_rig_file" -ne "$N" ];
    do
    which $(sed -n "${N}p" ~/.Libreria_comandi/temp/file | tr 'A-Z' 'a-z') 2>/dev/null && c=0 || c=1 #Diamo in pasto le righe di list al comando which (C=0 trovato)
    if [ "$c" == 0 ]; then
    del=$(sed -n "${N}p" ~/.Libreria_comandi/temp/file)
    sed -i "/$del/d" ~/.Libreria_comandi/temp/file
    N=$(($N+1))
    else
    N=$(($N+1))
    fi
    echo "controllo $N/$n_rig_file"
    done

    N=1
    while [ "$n_rig_pkg" -ne "$N" ];
    do
    grep -i $(sed -n "${N}p" ~/.Libreria_comandi/temp/pkg_clean) ~/.Libreria_comandi/temp/file 2>/dev/null && c=0 || c=1
    if [ "$c" == 0 ]; then
    n=$(grep -i -n $(sed -n "${N}p" ~/.Libreria_comandi/temp/pkg_clean) ~/.Libreria_comandi/temp/file | cut -d : -f 1)
    sed -i -e "${n}d" ~/.Libreria_comandi/temp/file
    N=$(($N+1))
    else
    N=$(($N+1))
    fi
    echo "controllo $N/$n_rig_pkg"
    done



    N=1
    while [ "$n_rig_file" -ne "$N" ];
    do
    n_rig_file=$(wc -l ~/.Libreria_comandi/temp/file | awk '{print $1}') #Numero Righe Contenute in file
    n_rig_file=$(($n_rig_file+1))
    grep -i $(sed -n "${N}p" ~/.Libreria_comandi/temp/file) ~/.Libreria_comandi/temp/pkg_clean 2>/dev/null && c=0 || c=1
    if [ "$c" == 0 ]; then
    sed -i -e "${N}d" ~/.Libreria_comandi/temp/file
    N=$(($N+1))
    else
    N=$(($N+1))
    fi
    echo "controllo $N/$n_rig_file"
    done


## Non Funziona non capisco perchè????????????????????????????        
    N=1
    Z=1
    A=$(sed -n "${N}p" ~/.Libreria_comandi/temp/file | awk '{print $1}')
    B=$(sed -n "${Z}p" ~/.Libreria_comandi/controllo | awk '{print $1}') # Nome cartella
    while [ "$n_rig_file" -ne "$N" ];
    do
    echo "controllo $N/$n_rig_file"
    echo "------------------------------------------------------------"
    
    if [ $A = $B ]; then
    echo "trovata"
    #N=$(($N+1))
    N=1
    Z=$(($Z+1))
    echo $A
    echo $B
    B=$(sed -n "${Z}p" ~/.Libreria_comandi/controllo | awk '{print $1}')
    else
		if [ "$n_rig_file" == "$N" ]; then
		N=1
		Z=$(($Z+1))
		B=$(sed -n "${Z}p" ~/.Libreria_comandi/controllo | awk '{print $1}')
		else
		echo "booo"
		N=$(($N+1))
		fi
    echo "non trovata"
	echo $A
	echo $B
	
    fi
    
    #grep -i $(sed -n "${N}p" ~/.Libreria_comandi/temp/file) ~/.Libreria_comandi/controllo 2>/dev/null && c=0 || c=1
    #grep -i $(sed -n "${N}p" ~/.Libreria_comandi/temp/file) awk '{print $1}' ~/.Libreria_comandi/controllo
    #if [ "$c" == 0 ]; then
    #sed -i -e "${N}d" ~/.Libreria_comandi/temp/file
    #N=$(($N+1))
    #echo "si"
    #else
    #N=$(($N+1))
    #echo "no"
    #fi
    
	#echo "controllo $N/$n_rig_file"
	A=$(sed -n "${N}p" ~/.Libreria_comandi/temp/file | awk '{print $1}')
    done
##???????????????????????????????????????????????????????????????????????????????????????????????


    
    clear
    echo "Le cartelle rimaste dai programmi disinstallati sono:"
    cat -n ~/.Libreria_comandi/temp/file
    #rm ~/.Libreria_comandi/temp/pkg
    #rm ~/.Libreria_comandi/temp/pkg_clean
    #rm ~/.Libreria_comandi/temp/list
    #rm ~/.Libreria_comandi/temp/list_clean
    #rm ~/.Libreria_comandi/temp/list_clean_no_case_sensitive
    #rm ~/file
    #rm ~/.Libreria_comandi/temp/control
    #rm -r /home/$USER/.Libreria_comandi/temp
    cd
    cd
    #read
}

function del()
{
    echo "digita il nome delle cartelle che vuoi eliminare:"
    #read num
    read name_dir
    a=$(ls /home/$USER/ -d .* | grep -y $name_dir)
    b=$(ls /home/$USER/.config | grep -y $name_dir)
    #c=$(ls /home/$USER/.mozilla | grep -y $name_dir)
    #d=$(ls /home/$USER/.macromedia | grep -y $name_dir)
    #e=$(ls /home/$USER/.adobe | grep -y $name_dir)
    if [ -n "$a" ]
    then
    echo "Trovata La Cartella $a "
    echo "$GREEN Dettagli $Z"
	echo "$(ls -l -a $a)"
    echo "Vuoi Eliminarla? s/n"
    read r1
    if [[ $r1 == s ]]
    then
    rm -r /home/$USER/$a
    echo "Cartella eliminata! ^^"
    else
    echo "OK, la puoi trovare in /home/$USER/"
    fi
    fi
    if [ -n "$b" ]
    then
    echo "Trovata La Cartella $b"
    echo "$GREEN Dettagli $Z"
    echo "$(ls -l -a $b)"
    echo "Vuoi Eliminarla? s/n"
    read r1
    if [[ $r1 == s ]]
    then
    rm -r /home/$USER/.config/$b
    echo "Cartella eliminata! ^^"
    else
    echo "OK, la puoi trovare in /home/$USER/.config"
    fi
    fi
    #####################################################
    if [ -n "$c" ]
    then
    echo "Trovata La Cartella /home/$USER/.mozilla/$c "
    echo "Vuoi Eliminarla? s/n"
    read r1
    if [[ $r1 == s ]]
    then
    rm -r /home/$USER/.mozilla/$c
    echo "Cartella eliminata! ^^"
    else
    echo "OK, la puoi trovare in /home/$USER/.mozilla"
    fi
    fi
    if [ -n "$d" ]
    then
    echo "Trovata La Cartella /home/$USER/.macromedia/$d "
    echo "Vuoi Eliminarla? s/n"
    read r1
    if [[ $r1 == s ]]
    then
    rm -r /home/$USER/.macromedia/$d
    echo "Cartella eliminata! ^^"
    else
    echo "OK, la puoi trovare in /home/$USER/.macromedia"
    fi
    fi
    if [ -n "$e" ]
    then
    echo "Trovata La Cartella /home/$USER/.adobe/$e "
    echo "Vuoi Eliminarla? s/n"
    read r1
    if [[ $r1 == s ]]
    then
    rm -r /home/$USER/.adobe/$e
    echo "Cartella eliminata! ^^"
    else
    echo "OK, la puoi trovare in /home/$USER/.adobe"
    fi
    fi
    clear
    ###############################
     }

	#mkdir /home/$USER/.Libreria_comandi
    #rm -r /home/$USER/.Libreria_comandi/temp
    begin
    control

marcphemt
Novello Arciere
Messaggi: 121
Iscritto il: 11 dicembre 2012, 23:46

Re: Libreria comandi

Messaggio da marcphemt » 20 ottobre 2014, 9:22

Grazie per avermi citato!! È stato un gran piacere collaborare con te!! :)

mac89
Novello Arciere
Messaggi: 58
Iscritto il: 21 agosto 2013, 17:28

Re: Libreria comandi

Messaggio da mac89 » 4 ottobre 2015, 12:14

Salve ragazzi, ritorno su questo script solo per un aggiornamento. Lo script è stato spostato dal server mega ed ora si può scaricare da Qui
questo codice serve per "installarlo da terminale"

Codice: Seleziona tutto

cd /home/$USER
mkdir .temp
cd .temp
wget https://raw.githubusercontent.com/xunil89/Libreria-Comandi/master/Libreria_comandi.sh
chmod +x Libreria_comandi.sh
mv -i Libreria_comandi.sh /home/$USER
rmdir /home/$USER/.temp
cd /home/$USER
echo "Lo script e stato salvato nella vostra home, premete ora invio per avviarlo"
'/home/$USER/Libreria_comandi.sh'
note versione 0.6.2:
add aggiornamento script

mac89
Novello Arciere
Messaggi: 58
Iscritto il: 21 agosto 2013, 17:28

Re: Libreria comandi

Messaggio da mac89 » 11 ottobre 2015, 19:44

Sono felice di annunciarvi un' altro aggiornamento
note versione 0.6.4:
creazione cartella programma
aggiunta script aggiornamento mirror
http://i.imgur.com/W1LPrDJ.png
http://i.imgur.com/OATC6sc.png
http://i.imgur.com/xUvllny.png

previsioni per la prossima release:
Riscrittura dello script in whiptail
creazione launcher desktop

mac89
Novello Arciere
Messaggi: 58
Iscritto il: 21 agosto 2013, 17:28

Re: Libreria comandi

Messaggio da mac89 » 20 dicembre 2015, 20:13

Note versione 0.6.5:
Fix installazione yaourt
creazione launcher desktop
creazione file setup.sh
creazione file update_lib.sh
creazione file Yaourt_install.sh

nuovo comando di installazione

Codice: Seleziona tutto

cd /home/$USER
mkdir .temp
cd .temp
wget https://raw.githubusercontent.com/xunil89/Libreria-Comandi/master/Setup.sh
chmod +x Setup.sh
"Setup.sh"
rm -rf /home/$USER/.temp
cd 
exit

mac89
Novello Arciere
Messaggi: 58
Iscritto il: 21 agosto 2013, 17:28

Re: Libreria comandi

Messaggio da mac89 » 13 agosto 2018, 12:00

:lol: :lol: buongiorno ritorno su questo progettino dopo millenni :lol: :lol: se qualcuno vuole è stato aggiornato alla versione 7.3 è stato rimosso yaourt e sostituito con aurman corretti numerosi errori ripulito lo script principale modificato il setup l'aggiornamento ed introdotto uno script che installa automaticamente aurman. se a qualcuno interessa eccco il link del Setup. Fatemi sapere se funziona se vi piace ecc. su Telegram P.S. non ho molto tempo a disposizione per lavorarci su lo faccio nei ritagli di tempo e non sono un programmatore.
oppure lanciate

Codice: Seleziona tutto

sudo mkdir /usr/share/libreria_comandi
cd /usr/share/libreria_comandi
sudo wget https://raw.githubusercontent.com/xunil89/Libreria-Comandi/master/Mirrorlist.sh
sudo wget https://raw.githubusercontent.com/xunil89/Libreria-Comandi/master/Aurman_install.sh
sudo wget https://raw.githubusercontent.com/xunil89/Libreria-Comandi/master/Update_lib.sh
sudo wget https://raw.githubusercontent.com/xunil89/Libreria-Comandi/master/Libreria_comandi.sh
sudo wget https://raw.githubusercontent.com/xunil89/Libreria-Comandi/master/Remove_lib.sh
sudo wget https://raw.githubusercontent.com/xunil89/Libreria-Comandi/master/Check_program.sh
sudo wget https://raw.githubusercontent.com/xunil89/Libreria-Comandi/master/Setup.sh
sudo chmod +x /usr/share/libreria_comandi/*
cd /home/$USER
wget https://raw.githubusercontent.com/xunil89/Libreria-Comandi/master/Libreria-comandi.desktop
sudo chmod +x Libreria-comandi.desktop
cd
exit

Avatar utente
TheSaint
Robin Hood
Messaggi: 7611
Iscritto il: 8 settembre 2007, 7:43
Architettura: x86_64 (64bit)
Località: davanti al computer

Re: Libreria comandi

Messaggio da TheSaint » 13 agosto 2018, 16:05

Bel lavoro. Anche stagionato bene :)
F the saint
11 anni da questo forum ;)

enzolatina
Little John
Messaggi: 1128
Iscritto il: 6 ottobre 2007, 22:51
Architettura: x86_64 (64bit)
Località: belluno

Re: Libreria comandi

Messaggio da enzolatina » 13 agosto 2018, 18:20

lo sto installando ora per provare, piccolo problemino: l'icona non è presente tra i files in master.....
noi siamo arch linux, ogni resistenza è inutile, sarete assimilati

Rispondi