LinuxMindItalia

Di tutto un po' => O'Top bar => Discussione aperta da: trigg il Mercoledì 23 Maggio 2018, 22:51:39

Titolo: La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Mercoledì 23 Maggio 2018, 22:51:39
apro questo topic partendo da una domanda:
cosa è un pc?

la risposta che mi son dato è che un pc non è altro che uno strumento che ci permette di compiere
calcoli, operazioni ,guardare film , ascoltare musica , creare film immagini musica , un pc ci permette
di tenerci aggiornati in tempo reale ed informati in sintesi il pc è in-forma-azione uno strumento
che ci permette di formare azione.

spesso ci si limita a guardare il monitor ed ad intendere il pc solo come sistema operativo
ma in realtà il computer parte dalla punta delle nostre dita cioè dalla tastiera che invia
comandi al sistema per portarlo dove vogliamo la tastiera è lo strumento principale del pc
senza tastiera al momento non è possibile comunicare con il sistema.

quindi secondo me è importante oltre che configurare il sistema configurare la tastiera
assegnado a dei tasti o una combinazioni di tasti dei processi che posson fare immediatamente
dire al sistema cosa vogliamo da lui , senza dover sprecare energie nel ricordare e scrivere
linee di comando che spesso sono lunghe con sintassi simili trattini segni speciali punti duepunti
puntini slash maiuscole miniscole e così via dicendo.

così con uno script associato ad una combinazione di tasti è possibile fare del PC
il proprio Computer Personale , proprio perchè personalizzato con i nostri comandi
e la nostra tastiera.

da qui parte l'idea di questo topic che possa essere d'ispirazione a nuove frontiere
ed a nuove idee , tenendo presente che mecomemedesimo sono un dilettante che come voi
è appassionato di informazione automatica meglio conosciuta come informatica . :)  :)  :'(
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Giovedì 24 Maggio 2018, 07:56:44
Ciao trigg, complimenti per il titolo del topic... :)

In effetti questo nuovo topic nasce da un altro topic che mi sembra opportuno ricordare se si vuole comprendere meglio lo spirito con il quale parte: http://www.linuxminditalia.org/index.php?topic=24534.msg267649#msg267649

In questa precedente discussione, quasi per gioco, sono stati concepiti degli script che, senza avere la pretesa di essere particolarmente utili, svolgono la funzione per la quale sono stati realizzati.

Anche se elementari credo che rappresentino una forma di programmazione, rendendo di fatto il loro autore un programmatore dilettante.

Da parte mia, complice il fatto che uso una distribuzione che fa largo uso di script, ne sono come minimo incuriosito, ma anche interessato, A me infatti piacerebbe, per esempio, realizzare una slackbuild che si occupi di compilare, pacchettizzare e installare Baka-Mplayer, un player video per il quale non esistono per slackware pacchetti precompilati o slackbuild per compilarlo.

Naturalmente so che non ci si può improvvisare programmatore, sarà necessario portare il livello di conoscenza della materia a un livello almeno di un pochino superiore.

Questa guida: http://www.html.it/guide/shell-scripting-la-guida/, sembra essere un buon punto di partenza. Suggerimenti ulteriori in tal senso sarebbero comunque molto apprezzati.  ;)


:ciao:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Giovedì 24 Maggio 2018, 17:10:26
grazie nick per i complimenti , specialmente per il programmatore dilettante  :bonk:  >:(  :grin:
questo script può sembrare inutile ma secondo me può farti risparmiare tempo ed energie considerando il fatto che bisogna cmq fare dei copia -incolla anche normalmente

si tratta di scaricare file tar , scompattarli  aprire la finestra di destinazione e mantenere aperto il terminale sempre nella posszione del download
per scompattare il file ho preferito usare dtrx che ti da modo in fase di scompattamento  di scegliere dove scompattare , di rinominare la cartella o di lasciare nome e destinazione invariati

lo script è questo
#!/bin/bash
wmctrl -r TerminalEmulator -b add,above

cd  /home/tom/Scaricati/000/
echo Incolla nome
read nome
echo incolla link
read link
$exec wget -O $nome $link
ls
$exec dtrx $nome
$exec thunar /home/tom/Scaricati/000
/bin/bash
exit


la scorciatoa tastiera se la si vule è questa
exo-open --launch TerminalEmulator /mnt/DATI/anarchy/scorciatoietastiera/ext.sh

il risultato è questo
ho anche fatto un'aggiornamento del sistema
https://drive.google.com/file/d/1ar7yk3D-KhxFvyS39mdROFEY4WiL2s2e/view?usp=sharing (https://drive.google.com/file/d/1ar7yk3D-KhxFvyS39mdROFEY4WiL2s2e/view?usp=sharing)   :)

avrei voluto anche aggiungere l'installazione ma per ovvie ragioni non è possibile farlo almeno per le mie conoscenze
cmq ho fatto si di poter operare o nella cartella o nel terminale   :ciao:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Giovedì 24 Maggio 2018, 18:16:05
Ho visto il video e, anche se non ho capito perché dovrai scaricare un file .tar, la sensazione che ho avuto è che il computer ha eseguito la serie di compiti che gli hai assegnato. Che poi questi compiti abbiano o meno una qualche utilità può anche considerarsi un fatto di secondaria importanza. La cosa importante è che l'esercizio dia sempre qualche soddisfazione.

Per come la vedo io possiamo anche "inventare" cose che sono già state inventate e anche copiarle, in parte. La cosa importante è capire cosa stai copiando, per poterlo usare e magari adattarlo in una situazione diversa.

Quindi, se vuoi, puoi proseguire come stai facendo, oppure, e io così mi sentirei un po' più partecipe, facendo qualcosa che sia condivisibile e utilizzabile nel quotidiano.
Dal momento che siamo accomunati da slackware la prima cosa che mi viene in mente è uno script che dia: slackpkg update e poi slackpkg upgrade-all e che sia interattivo quanto basta da poter interrompere l'operazione nel caso in cui non ci siano pacchetti per l'upgrade. Questo per cercare di tenere insieme utile e fattibile. :)

Inoltre ci terrei a sottolineare che per quanto mi riguarda questa è un'attività ludica, non dobbiamo dimostrare niente ne avere aspettative troppo alte.

In un lontano passato(...fine anni '80) un amico frequentava un corso di informatica. Alla fine del corso mi mostrò orgoglioso il programma che aveva realizzato, il programma disegnava, con delle linee a zigzag, il contorno di un albero di natale. All'epoca non capii il suo slack e mi concentrai più sul sospetto che fosse lo stesso albero per tutti i partecipanti del suo corso, e di molti altri corsi prima e dopo del suo... ;D


...Per come la vedo io qui possiamo anche fare solo stelle comete. Fino alla fine dei tempi. :D

Possiamo pure partire cercando di capire se e come possiamo adattare uno script semplice per ubuntu a una distribuzione diversa, e viceversa...


...Se ti va pensaci.
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Giovedì 24 Maggio 2018, 18:35:30
in effetti l'esempio di scaricare il tema è molto fuorviante
l'idea è quella di usarlo per i pacchetti da installare  dove bisogna leggere i readme per l'installazione

domani cambio la postazione dei pc per poter utilizzare e lavorare  con slackware più comodamente

:roll:

Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Venerdì 25 Maggio 2018, 09:39:15
...Che me lo sono sognato il post che stava qui 5 minuti fa? Mi fai rispondere e mentre rispondo mi cancelli la domanda?  >:(  ;D

Comunque, se rispetto all'ultima volta slackpkg update non trova variazioni in ultimo ti fa una domanda, vedi l'output:

root@slackware:~# slackpkg update

Updating the package lists...
Downloading...
2018-05-25 09:21:44 URL:http://mirrors.slackware.com/slackware/slackware64-14.2/ChangeLog.txt [480522/480522] -> "/tmp/slackpkg.WHmS3m/ChangeLog.txt" [1]
                Saving ChangeLog.txt from repository slackpkgplus ...

                Saving ChangeLog.txt from repository restricted ...

                Saving ChangeLog.txt from repository alienbob ...

                Saving ChangeLog.txt from repository multilib ...

                Saving ChangeLog.txt from repository cinelerracv ...

2018-05-25 09:21:48 URL:http://slakfinder.org/slackpkg+/CHECKSUMS.md5 [2200/2200] -> "/tmp/slackpkg.WHmS3m/CHECKSUMS.md5-slackpkgplus" [1]
2018-05-25 09:21:48 URL:http://bear.alienbase.nl/mirrors/people/alien/restricted_sbrepos/14.2/x86_64/CHECKSUMS.md5 [4068/4068] -> "/tmp/slackpkg.WHmS3m/CHECKSUMS.md5-restricted" [1]
2018-05-25 09:21:49 URL:http://bear.alienbase.nl/mirrors/people/alien/sbrepos/14.2/x86_64/CHECKSUMS.md5 [182574/182574] -> "/tmp/slackpkg.WHmS3m/CHECKSUMS.md5-alienbob" [1]
2018-05-25 09:21:49 URL:http://bear.alienbase.nl/mirrors/people/alien/multilib/14.2/CHECKSUMS.md5 [117689/117689] -> "/tmp/slackpkg.WHmS3m/CHECKSUMS.md5-multilib" [1]
2018-05-25 09:21:50 URL:https://cinelerra-cv.org/repo/CHECKSUMS.md5 [21235/21235] -> "/tmp/slackpkg.WHmS3m/CHECKSUMS.md5-cinelerracv" [1]

No changes in ChangeLog.txt between your last update and now.
Do you really want to download all other files (y/N)?


Non essendoci pacchetti per l'upgrade ti propone una scelta in cui la risposta più opportuna è già selezionata (qui è NO), vedi la N maiuscola, ed è sufficiente dare invio per interrompere il procedimento.
Se invecieio volessi proseguire ugualmente dovrei scrivere y e dare invio.

Per risolvere il dubbio a monte del problema, l'esecuzione dei comandi precedenti può essere subordinata all'esito di quest'altro comando:

slackpkg check-updates

Infatti, se lo do, ottengo questa risposta:

root@slackware:~# slackpkg check-updates

Searching for updates... No news is good news

root@slackware:~#


ed è inutile proseguire con l'esecuzione

Le pagine man di slackpkg sono in italiano, leggile con attenzione  ;)

SLACKPKG(8)                                                        SLACKPKG(8)

NOME
       slackpkg  -  Strumento  automatico  per  la  gestione  dei pacchetti di
       Slackware Linux

SINOSSI
       slackpkg [OPZIONI]  {install|remove|search|upgrade|reinstall|blacklist}
       {SCHEMA|FILE}

       slackpkg [OPZIONI] {clean-system|upgrade-all|install-new}

       slackpkg [OPZIONI] {search|file-search} {SCHEMA|FILE}

       slackpkg [OPZIONI] {generate-template|install-template|remove-template}
       NOMEMODELLO

       slackpkg [OPZIONI] info PACCHETTO

       slackpkg [OPZIONI] update [gpg]

       slackpkg [OPZIONI] {new-config|check-updates}

       slackpkg [OPZIONI] help

DESCRIZIONE
       Slackpkg è uno strumento per tutti quelli  che  vogliono  installare  e
       aggiornare  facilmente  i  pacchetti via rete. Con slackpkg, puoi avere
       un'installazione minimale di Slackware  Linux  e  installare/aggiornare
       solo quei pacchetti di cui hai bisogno.

       Non  è  necessario  configurare  NFS  o  creare decine di CD per i tuoi
       computer; quello che serve è scrivere un comando  e  tutti  gli  ultimi
       pacchetti di Slackware saranno nelle tue dita.

ISTRUZIONI
       Slackpkg  ha molte funzionalità. Puo' cercare file specifici, rimuovere
       tutti i pacchetti di terze parti dal tuo sistema, installare  pacchetti
       aggiunti   in   Slackware  dal  tuo  ultimo  aggiornamento,  vedere  la
       descrizione dei pacchetti, ecc.

       Prima  di  iniziare,   devi   decommentare   un   archivio   nel   file
       /etc/slackpkg/mirrors ed eseguire:

            # slackpkg update

       Questa  azione "update" scaricherà e formatterà la lista dei file e dei
       pacchetti di Slackware.  Ogni volta che la  lista  viene  cambiata,  il
       comando deve essere eseguito.

       Le  principali  funzionalità  di  Slackpkg sono quelle che si collegano
       direttamente alla gestione  dei  pacchetti:  installare,  aggiornare  e
       rimuovere  pacchetti.  Per fare questi compiti, la sintassi di Slackpkg
Manual page slackpkg(8) line 1/277 22% (press h for help or q to quit)
       è:

            # slackpkg [OPZIONI] <azione> {SCHEMA|FILE}

       OPZIONI puo' essere una o piu'  opzioni  delle  molte  elencate  dentro
       /etc/slackpkg/slackpkg.conf.   Ci sono comandi di linea equivalenti per
       la maggior parte delle direttive di configurazione  presenti  nel  file
       slackpkg.conf  -  guarda  la  pagina  del  manuale slackpkg.conf(5) per
       vedere le opzioni disponibili.

       SCHEMA puo' essere il nome del pacchetto o solo una parte.  Puo'  anche
       essere una serie (come kde, a, ap, ...).

       FILE è un file con una lista di SCHEMI dentro: uno per linea, o diversi
       per linea con lo spazio come separatore.

       Slackpkg puo' essere usato per aggiornare l'intera distribuzione.
       Il classico modo per farlo è':

            # slackpkg update
            # slackpkg install-new
            # slackpkg upgrade-all
            # slackpkg clean-system

       Un'altra funzionalità  di  Slackpkg  è  l'abilità  di  lavorare  con  i
       modelli,  con  i quali è piu' facile installare gli stessi pacchetti su
       piu' macchine. I passi base sono i seguenti:

            · Installazione su una macchina

            · Esegui "slackpkg generate-template NOMEMODELLO"

            · Copia /etc/slackpkg/templates/NOMEMODELLO.template nella  stessa
              cartella dell'altra macchina

            · Esegui   "slackpkg   install-template   NOMEMODELLO"  sull'altra
              macchina

       NOMEMODELLO è il nome del tuo modello.

       Seguendo questa pagina del manuale, puoi capire cosa ognuna  di  queste
       (e altre) azioni fa.

AZIONI
       help
            Mostra  le  azioni di slackpkg e una veloce descrizione per ognuna
            di esse. Utile se hai  bisogno  di  sapere  qualcosa  in  piu'  di
            slackpkg.  Le informazioni presenti qui, sulla pagina del manuale,
            sono piu' approfondite.

       update
            update scaricherà l'ultimo elenco dei pacchetti da un archivio  di
            Slackware (o dal tuo CD).  E' una buona idea eseguire
Manual page slackpkg(8) line 54/277 39% (press h for help or q to quit)

                 # slackpkg update

            prima di aggiornare, installare o cercare pacchetti.
            Se hai bisogno di aggiornare la chiave GPG di Slackware, esegui

                 # slackpkg update gpg

            La  chiave  GPG  non  cambia. Questo dovrebbe essere un comando da
            eseguire  solo  una  volta  -  quindi   eseguilo   una   volta   e
            dimenticatelo...

       check-updates
            Verifica  se c'è qualche aggiornamento nel ChangeLog.txt. E' buona
            cosa usarlo da cron per avvertire  l'amministratore  di  eventuali
            aggiornamenti.

       file-search
            Puoi  cercare  i  pacchetti  ufficiali  di Slackware per ogni file
            presente nella distribuzione.   Hai  bisogno  di  una  particolare
            libreria? Usa file-search per trovarla.

                 # slackpkg file-search nomefile

            Tutti   i  pacchetti  che  si  accordano  con  "nomefile"  saranno
            mostrati, cosi' puoi vedere se i pacchetti sono installati  o  no;
            se  non  installati,  puoi  scaricarli  e installarli con le altre
            azioni di slackpkg.

       search
            Puoi cercare ogni pacchetto rilasciato in Slackware.

                 # slackpkg search schema

            Tutti i nomi dei pacchetti che si accordano con  "schema"  saranno
            mostrati.   Come  per file-search, puoi vedere se i pacchetti sono
            installati o no; se non installati, puoi scaricarli e  installarli
            con le altre azioni di slackpkg.

       install
            L'installazione  di  un  pacchetto è molto semplice. Devi soltanto
            scrivere:

                 # slackpkg install pacchetto

            e il pacchetto sarà scaricato e installato
            Non puoi usare l'opzione "install" per installare un pacchetto già
            installato, ma tu potresti reinstallarlo o aggiornarlo.

       upgrade
            upgrade installa le piu' recenti versioni ufficiali dei pacchetti.

            upgrade non proverà ad installare nuovi pacchetti (usa la funzione
Manual page slackpkg(8) line 107/277 56% (press h for help or q to quit)
...Continua


EDIT:

Lo script che hai postato nel post "desaparecido" l'ho salvato e l'ho eseguito, e ho visto come e dove si ferma. Non capisco perché l'hai rimosso. Una delle cose che poteva succedere è che qualcuno ti diceva qualcosa di interessante e di istruttivo, o anche il nulla. Andava bene lo stesso. In ogni caso non sarebbe male se leggendo questa discussione si potesse ripercorrere il percorso che ha portato al risultato ottenuto, che, anche quando fosse buono, sarebbe comunque perfezionabile. E quando non lo fosse rimarrebbe comunque una esperienza interessante. O almeno, questo è ciò che penso io.  :ciao:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Venerdì 25 Maggio 2018, 10:51:19
ho notato che non andava bene
così ho provato questo
dovrebbe andare bene

#!/bin/bash
slackpkg update
           OPTIONS="upgrade Quit"
           select opt in $OPTIONS; do
               if [ "$opt" = "Quit" ]; then
                echo done
                exit
               elif [ "$opt" = "upgrade" ]; then
                echo done
slackpkg upgrade-all
           
               fi
           done

/bin/bash
exit


adesso devo capire come fare uscire un'altro menu dopo l'upgrade che ti chiede cosa fare se uscire o fare una nuova operazione.

al momento dopo l'upgrade bisgona pigiare 2 per uscire
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Venerdì 25 Maggio 2018, 11:25:36
qquesto dovrebbe essere l'ideale se ho capito bene

#!/bin/bash
slackpkg update
           OPTIONS="upgrade Quit"
           select opt in $OPTIONS; do
               if [ "$opt" = "Quit" ]; then
                echo done
                exit
               elif [ "$opt" = "upgrade" ]; then
                echo done
slackpkg upgrade-all
           exit
               fi
           done

/bin/bash
exit

dopo l'upgrade esce dallo script
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Venerdì 25 Maggio 2018, 11:26:11
Ok, questo non si inceppa. Eccellente!

Sembra fare perfettamente il suo compito. Complimenti. :ok:

Ora, visto che stiamo diventando bravi, possiamo farlo più interattivo?

Secondo me la sequenza ideale per gestire slackpkg dovrebbe avere queste opzioni

Editare la mirrorl list: nano /etc/slackpkg/mirrors

Editare la configurazione di slackpkgplus: nano /etc/slackpkg/slackpkgplus.conf

Se sono state apportate modifiche ai Mirrors di slackpkgplus eseguire slackpkg update gpg

Eseguire il comando di update: slackpkg update

Eseguire il comando di upgrade: slackpkg upgrade-all

Pensi che si possa fare?
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Venerdì 25 Maggio 2018, 11:30:46
si può fare
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Venerdì 25 Maggio 2018, 11:44:48
La Fucina di @trigg è operativa  :mago: :mago: :mago:  :D
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Venerdì 25 Maggio 2018, 12:06:20
questa è il primo algoritmo che mi è venuto in mente

alla fine di ogni operazione richiama lo script e basta digitare il numeretto per eseguire il comando

vale per tutti tranne che per quit che esce dallo script senza richiamarlo

bisogna solo cambiare il percorso dello script nel mio caso è /home/tom/Desktop/prova.sh

#!/bin/bash
           OPTIONS="slackpkg_mirrors slackpkgplus.conf slackpkg_update_gpg slackpkg_update upgrade Quit"
           select opt in $OPTIONS; do
               if [ "$opt" = "Quit" ]; then
                echo done
                exit

elif [ "$opt" = "slackpkg_mirrors" ]; then
                echo done
nano /etc/slackpkg/mirrors
           sh /home/tom/Desktop/prova.sh

elif [ "$opt" = "slackpkgplus.conf" ]; then
                echo done
nano /etc/slackpkg/slackpkgplus.conf
   sh /home/tom/Desktop/prova.sh

elif [ "$opt" = "slackpkg_update_gpg" ]; then
                echo done
slackpkg update gpg
           sh /home/tom/Desktop/prova.sh

elif [ "$opt" = "slackpkg_update" ]; then
                echo done
slackpkg update
           sh /home/tom/Desktop/prova.sh


               elif [ "$opt" = "upgrade" ]; then
                echo done
slackpkg upgrade-all
           sh /home/tom/Desktop/prova.sh
               fi
           done
exit
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Venerdì 25 Maggio 2018, 13:01:19
questo è quello corretto

#!/bin/bash
while true
do
PS3='Please enter your choice: '
options=("slackpkg mirrors" "slackpkgplus.conf" "update gpg" "update" "upgrade-all" "Quit")
select opt in "${options[@]}"
do
     case $opt in
         "slackpkg mirrors")
             echo "slackpkg mirrors"
nano /etc/slackpkg/mirrors
echo "eseguito"
             break
             ;;
         "slackpkgplus.conf")
             echo "slackpkgplus.conf"
nano /etc/slackpkg/slackpkgplus.conf
echo "eseguito"
             break
             ;;
         "update gpg")
             echo "slackpkg update gpg"
slackpkg update gpg
echo "eseguito"
             break
             ;;
"update")
             echo "slackpkg update"
slackpkg update
echo "eseguito"
             break
             ;;
"upgrade-all")
             echo "slackpkg upgrade-all"
slackpkg upgrade-all
echo "eseguito"
             break
             ;;
         "Quit")
             echo "Thank You..."                 
             exit
             ;;
         *) echo invalid option;;
     esac
done
done


non richiama nulla ,
ho preferito lasciare la scelta di opzione senza dover fare update-gpg , update , upgrade-all in automatico

:entu:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Venerdì 25 Maggio 2018, 13:11:01
Dopo li provo, adesso beccati un regaluccio. Guarda le immaglini:

(http://i.imgur.com/6IyWvPD.png)

(http://i.imgur.com/JNvAy0w.png)

(http://i.imgur.com/oKLo018.png)


Lanciare gli script col destro del mouse è una pacchia. ;D
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Venerdì 25 Maggio 2018, 15:27:10
preferisco la scorciatoia

exo-open --launch TerminalEmulator sudo sh /home/tom/p.sh
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Venerdì 25 Maggio 2018, 16:41:16
Si si. prego, non c'è di che. Che cosa c'entrano le scorciatoie, e chi ti impedisce di farle?

Quella è un'azione personalizzata di Thunar. Ti consente di avviare uno script l'istante successivo a quello in cui hai salvato il file (...su quelli su cui stai lavorando per esempio).

(http://i.imgur.com/AvF1Jjo.png)

...Ma tu "scorciati" le scorciatoie.
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Venerdì 25 Maggio 2018, 17:27:55
e lo so che serve a lanciare lo script
ahahaha mannaggia a te , te la sei presa , la mia non era una risposta alla tua soluzione
avevo solo un po di fretta , ma quando mai ho scritto una risposta di 2 righe  :sigh:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Venerdì 25 Maggio 2018, 17:44:26
...A me sembrava più una risposta un po' a "pisello di cane," che altro. E poi pensavo di essere io quello che da risposte articolate... :)

...Ma va bene, anche io ho scritto quel post di fretta (,,,perché era pronto in tavola), avrei dovuto articolare di più e meglio.  ;D
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Venerdì 25 Maggio 2018, 22:21:00
 L'ho provato e sembra funzionare bene. E' elementare, essenziale, magari può sembrare scarno. Ma funziona.

...Perché quelle parti non tradotte, che c'azzecca quel "Please enter your choice:" e quel "Thank You""
Non sarebbero stati meglio "Prego inserisci una scelta" e "Grazie"..?
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Sabato 26 Maggio 2018, 09:29:27
grazie  ^_^
per le parti in inglese ero più concentrato nella sostanza che nella forma dello script

volendo visto che non sempre si cambiano i file .conf delle mirrorlist
si può  mettere in seconda riga
slackpkg check-updates
così ti cerca subito gli aggiornamenti
se  ci sono allora puoi proseguire

#!/bin/bash
slackpkg check-updates
while true
do
PS3='Please enter your choice: '
options=("slackpkg mirrors" "slackpkgplus.conf" "upgrade-all" "Quit")
select opt in "${options[@]}"
do
     case $opt in
         "slackpkg mirrors")
             echo "slackpkg mirrors"
nano /etc/slackpkg/mirrors
echo "eseguito"
             break
             ;;
         "slackpkgplus.conf")
             echo "slackpkgplus.conf"
nano /etc/slackpkg/slackpkgplus.conf
echo "eseguito"
             break
             ;;
        "upgrade-all")
             echo "slackpkg upgrade-all"
               slackpkg update gpg
                slackpkg update
slackpkg upgrade-all
echo "eseguito"
             break
             ;;
         "Quit")
             echo "Thank You..."                 
             exit
             ;;
         *) echo invalid option;;
     esac
done
done


adesso ho l'idea di fare uno script post-install per configurare slackware
userr,lingua, tastiera, mirrors,che ti installa i tar.gz salvati, update-upgrade
Titolo: Re:terminal pacman-manager
Inserito da: trigg il Sabato 26 Maggio 2018, 11:18:15
questo script permette di cercare, installare, rimuovere , aggiornare pacchetti dal terminale

https://drive.google.com/file/d/1qTlYEDb-9jA6g8IYXbPYV5pAQOK1OQAY/view?usp=sharing (https://drive.google.com/file/d/1qTlYEDb-9jA6g8IYXbPYV5pAQOK1OQAY/view?usp=sharing)

questa è la scorciatoia tastiera
exo-open --launch TerminalEmulator sudo /percorso/dello/script/.sh
questo è lo script

#!/bin/bash
while true
do
PS3='Please enter your choice: '
options=("cerca" "installa" "aggiorna sistema" "rimuovi pacchetto" "rimuovi pacchetto e dipendenze" "Quit")
select opt in "${options[@]}"
do
     case $opt in
         "cerca")
              echo "cerca il pacchetto"
read CERCA

$sudo pacman -Ss $CERCA
echo "eseguito"
break
;;
         "installa")
             echo "nome pacchetto da installare"
read INSTALLA

$sudo pacman -S $INSTALLA
echo "eseguito"
             break
             ;;
         "aggiorna sistema")
             echo "stai aggiornando il sistema"

$sudo pacman  -Syyuu
echo "eseguito"
             break
             ;;
"rimuovi pacchetto")
             echo "rimuovi solo pacchetto lascia le dipendenze"
read RIMUOVI

$sudo pacman -R $RIMUOVI
echo "eseguito"
             break
             ;;
"rimuovi pacchetto e dipendenze")
             echo "rimuovi pacchetto e dipendenze"
read REMOVEALL

     $sudo pacman -Rs $REMOVEALL
echo "eseguito"
             break
             ;;
         "Quit")
             echo "Thank You..."                 
             exit
             ;;
         *) echo invalid option;;
     esac
done
done




Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: Tony il Sabato 26 Maggio 2018, 13:07:02
Perché hai usato la funzione caller?
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Sabato 26 Maggio 2018, 14:04:20
perchè senza quella funzione mi restituiva errore

così con recall ho chiesto di lanciare una subroutine con il comando di quella riga


sono stato un giorno quasi a capire come poter lanciare il comando
durante l'esecuzione dell'opzione e questo almeno per le mie conoscenze
sembra essere il modo più semplòice per lanciare l comando

dopo consigli sono accetti , cavolo se servono :)

Titolo: Re: Teminal Manager cinnamon
Inserito da: trigg il Sabato 26 Maggio 2018, 14:07:57
questo script è per linux mind cinnamon

#!/bin/bash
while true
do
PS3='Please enter your choice: '
options=("cerca" "installa" "aggiorna sistema" "rimuovi pacchetto" "purge" "Quit")
select opt in "${options[@]}"
do
     case $opt in
         "cerca")
              echo "cerca il pacchetto"
read CERCA

$sudo apt-cache search $CERCA
echo "eseguito"
break
;;
         "installa")
             echo "nome pacchetto da installare"
read INSTALLA

$sudo apt-get install $INSTALLA
echo "eseguito"
             break
             ;;
         "aggiorna sistema")
             echo "stai aggiornando il sistema"

$sudo apt-get update && sudo apt-get upgrade -y
echo "eseguito"
             break
             ;;
"rimuovi pacchetto")
             echo "rimuovi solo pacchetto lascia le dipendenze"
read RIMUOVI

$sudo apt-get remove $RIMUOVI
echo "eseguito"
             break
             ;;
"purge")
             echo "purge"
read REMOVEALL

     $sudo apt-get purge $REMOVEALL
echo "eseguito"
             break
             ;;
         "Quit")
             echo "Thank You..."                 
             exit
             ;;
         *) echo invalid option;;
     esac
done
done


scorciatoia tastiera
gnome-terminal -e "sudo bash /percorso/dello/script/eseguibile/.sh"
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: Tony il Sabato 26 Maggio 2018, 14:47:54
Citazione di: trigg il Sabato 26 Maggio 2018, 14:04:20
perchè senza quella funzione mi restituiva errore

così con recall ho chiesto di lanciare una subroutine con il comando di quella riga
La funzione caller (non recall) non serve affatto a lanciare una subroutine, serve a tutt'altro.
Infatti, si può toglierla tranquillamente. Senza di essa lo script funziona lo stesso.
Titolo: terminal manager gentoo base
Inserito da: trigg il Sabato 26 Maggio 2018, 16:37:16
questo è lo stesso script per i sistemi gentoo
#!/bin/bash
sudo su
while true
do
PS3='Please enter your choice: '
options=("cerca" "installa" "autounmask-write" "rimuovi pacchetto" "aggiorna il sistema" "Quit")
select opt in "${options[@]}"
do
     case $opt in
         "cerca")
              echo "cerca il pacchetto"
read CERCA
$sudo emerge --search $CERCA
echo "eseguito"
break
;;
         "installa")
             echo "nome pacchetto da installare"
read INSTALLA

$sudo emerge $INSTALLA
echo "eseguito"
             break
             ;;
         "autounmask-write")
             echo "autounmask-write"
read Autounmask
     echo "pacchetto"
read Pacchetto

$sudo emerge -av --autounmask-write =$Autounmask

$sudo etc-update /etc/portage/package.keywords/custom

$sudo emerge $Pacchetto
echo "eseguito"
             break
             ;;
"rimuovi pacchetto")
             echo "rimuovi il pacchetto"
read RIMUOVI
$sudo emerge --unmerge $RIMUOVI
echo "eseguito"
             break
             ;;
"aggiorna il sistema")
             echo "aggiorna il sistema"
read REMOVEALL
     $sudo emerge --sync
$sudo  emerge --update @world
echo "eseguito"
             break
             ;;
         "Quit")
             echo "Thank You..."                 
             exit
             ;;
         *) echo invalid option;;
     esac
done
done


devo solo capire come lanciare lo script con la scorciatoia in kde

Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Sabato 26 Maggio 2018, 16:39:25
Citazione di: Tony il Sabato 26 Maggio 2018, 14:47:54
Citazione di: trigg il Sabato 26 Maggio 2018, 14:04:20
perchè senza quella funzione mi restituiva errore

così con recall ho chiesto di lanciare una subroutine con il comando di quella riga
La funzione caller (non recall) non serve affatto a lanciare una subroutine, serve a tutt'altro.
Infatti, si può toglierla tranquillamente. Senza di essa lo script funziona lo stesso.

con arch mi dava errore
adesso sto facendo l'aggiornamento con calculate linux quando rientro in arch posto l'errore che mi da senza caller
e dove ho letto la sua funzionalità  :ciao:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Sabato 26 Maggio 2018, 17:38:10
in effetti anche su arch va senza recall
probabilmente avevo sbagliato a digitare qualcosa e riscrivendo con recall ho corretto un'errore che non vedevo

perchè ho messo caller ?

leggendo le funzione cercando quella che poteva fare a caso mio ho trovato caller
(https://i.imgur.com/8JjrzL9.png)

quando ho letto che come funzione si tratta di una chiamata di subroutine allora ho pensato che poteva essere quella che cercavo

probabilmente come ho detto prima quando riscritto le righe inserendo il comando recall avrò corretto un'errore di battitura

Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: Tony il Sabato 26 Maggio 2018, 19:51:52
Appunto, caller si usa di solito per debugging.
Messo così non ha senso.
Titolo: La Cugina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Sabato 26 Maggio 2018, 21:42:50
Io ho modificato lo script per Slackware,

prima era così:

1) slackpkg mirrors   3) update gpg     5) upgrade-all
2) slackpkgplus.conf  4) update     6) Quit
Please enter your choice: 6
Thank You...



e adesso si presenta così

********************************************************
* Benvenuto! Configura slackpkg e aggiorna il Sistema. *
********************************************************

Scegli cosa fare e inserisci il numero nel rigo in basso
........................................................

1) Esegui slackpkg update 4) Seleziona un Mirror
2) Esegui slackpkg upgrade-all 5) Configura slackpkplus
3) Esegui slackpkg update gpg 6) Quit
Inserisci il numero per la tua scelta: 6


Arrivederci...



Oltre ad aver modificato il suo aspetto ho anche sostituito nano con leafpad.

lo script:

#!/bin/bash
echo "********************************************************"
echo "* Benvenuto! Configura slackpkg e aggiorna il Sistema. *"
echo "********************************************************"
echo ""
echo "Scegli cosa fare e inserisci il numero nel rigo in basso"
echo "........................................................"
echo ""
while true
do
PS3='Inserisci il numero per la tua scelta: '
options=("Esegui slackpkg update"
          "Esegui slackpkg upgrade-all"
          "Esegui slackpkg update gpg"
          "Seleziona un Mirror"
          "Configura slackpkplus"
          "Quit")
select opt in "${options[@]}"
do
     case $opt in
          "Esegui slackpkg update")
             echo "slackpkg update"
slackpkg update
echo "Completato"
                        echo "........................................................"
                        echo ""
             break
             ;;
          "Esegui slackpkg upgrade-all")
             echo "slackpkg upgrade-all"
slackpkg upgrade-all
echo "Completato"
                        echo "........................................................"
                        echo ""
             break
             ;;
          "Esegui slackpkg update gpg")
             echo "slackpkg update gpg"
slackpkg update gpg
echo "Completato"
                        echo "........................................................"
                        echo ""
             break
             ;;       
         "Seleziona un Mirror")
             echo "Edita la lista dei mirrors"
leafpad /etc/slackpkg/mirrors
echo "Completato"
                        echo "........................................................"
                        echo ""
             break
             ;;         
         "Configura slackpkplus")
             echo ""
             echo "Edita la configurazione di slackpkgplus"
             echo ""
leafpad /etc/slackpkg/slackpkgplus.conf
echo "Completato"
                        echo "........................................................"
                        echo ""
             break
             ;;
         "Quit")
             echo ""
             echo ""
             echo "Arrivederci..."                 
             exit
             ;;
         *) echo invalid option;;
     esac
done
done
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Domenica 27 Maggio 2018, 10:08:01
bello , già inserito in usr/local/bin

userò il tuo che è più elegante del mio

l'unica cosa è che con leafpad non si aprono i text quindi ho lasciato nano

ps.

ho intenzione di fare uno script slackware-post install

uno script che ti guida a configuare correttamente slackware iniziando dalla tastiera, la lingua, le mirror, sclakpkgplus, sbopkg, sbuoi e l'installazione di tutti i .SBo.tgz salvati .

dopo non ricordo dove facesti una guida per installare whiskermenu dove si compilava manualmente l'installazione
vorrei fare anche uno script che ti fa scaricare il pacchetto , entrare nella cartella e compilare ed installare il pacchetto

si può fare?
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Domenica 27 Maggio 2018, 11:57:46
Con leafpad i testi si aprono perfettamente. E di questo sono sicuro. Nano è già presente nel sistema e invece leafpad sarebbe una dipendenza, magari per questo è meglio nano.

Comunque sia, io faccio fatica a districarmi nel mezzo di una eruzione di script. Non ne capisco la necessità, non riesco ad individuare il filo logico di questo topic. Senza accettare la discussione su di uno script, senza che questi diventi un progetto da sviluppare insieme e con l'aiuto degli altri che gusto c'è? Che possibilità c'è  che in questa discussione ci si possa appassionare alla programmazione bash o di imparare qualcosa...?

Non so che dirti trigg, fai quello che vuoi. Se dovessi postare qualcosa per la quale vale la pena di farlo ne farò un fork, sempre nei limiti delle mie meno che scarsissime conoscenze e capacità in materia...

...Così se viene bene me ne prendo tutto il merito e lo propongo  a P. Volkerdig, e se lui lo inserisce nella prossima distro faccio pure un sacco di soldi...  :-P  :D
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Domenica 27 Maggio 2018, 12:07:24
ho fatto lo script per compilare i tar.gz
funziona ma sarebbe bello snellirlo

vale sempre la pena provare qualcosa di nuovo
sia per sbagliare che per imparare

ad esempio scrivendo questo script ho capito perfettmante come fare compilare un pacchetto senza l'aiuto di sbopkg e sbuoi
adesso so meglio come funziona la compilazione

#!/bin/bash
cd  /home/tom/Desktop/builder/
echo Download sorgente:
read link
$exec wget -r -l1 -nH --cut-dirs=2 --no-parent -A.tar.gz --no-directories $link
echo Scarica SlackBuild:
read build
$exec wget -r -l1 -nH --cut-dirs=2 --no-parent -A.tar.gz --no-directories $build
ls
echo scompatta build
read build2
$exec tar -zxvf $build2
ls
echo seleziona sorgente
read sorgente2
echo seleziona cartella destinazione
read cartella
cp $sorgente2 $cartella
cd $cartella
ls
echo installa slackbuild
read slackbuild
$exec sudo sh $slackbuild
/bin/bash
exit


per lo script post installazione lo trovo comodo specialmente per chi è alle prima armi con slacware
trovo scomodo dopo 2 anni dover andare nella cartella dati per leggere i text di configurazione
così fare uno script che ti guida alla configurazione è semplificativo
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Domenica 27 Maggio 2018, 13:02:44
così è più snello
scarica e scompatta la build
entra nella cartella build
scarica la sorgente
installa tutto

#!/bin/bash
cd  /home/tom/Desktop/builder/
echo Scarica SlackBuild:
read link
$exec curl $link | tar xvz
ls
echo entra nella cartella
read cartella
cd $cartella
echo Download Sorgente:
read link2
$exec wget $link2
ls
echo installa slackbuild
$exec sudo sh $cartella.SlackBuild

exit
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Domenica 27 Maggio 2018, 18:45:41
Rilasciata la prima versione di Slurp!
(https://www.garzantilinguistica.it/ricerca/?q=slurp)
Slurp è uno script interattivo per Slackware con il quale è possibile configurare Slackpkg, Slacpkgplus ed eseguire le operazioni di update e upgrade del sistema.

Slurp:

********************************************************
* Benvenuto in Slurp! Configura e aggiorna il Sistema. *
********************************************************

Scegli cosa fare e inserisci il numero nel rigo in basso
........................................................

1) Esegui slackpkg update 4) Seleziona un Mirror
2) Esegui slackpkg upgrade-all 5) Configura slackpkplus
3) Esegui slackpkg update gpg 6) Esci da Slurp
Inserisci il numero per la tua scelta: 6


Sei uscito da questo script. Arrivederci!


Ecco lo script:

slurp.sh
#################################################################################################################
# Questo script, da questo momento in poi denominato "Slurp", è                                                 #
# un Fork dello script proposto qui: http://www.linuxminditalia.org/index.php?topic=24542.msg267755#msg267755. #
# Slurp viene fornito senza alcuna garanzia.                                                                    #
# Enjoy!                                                                                                        #
#################################################################################################################

#!/bin/bash
echo "********************************************************"
echo "* Benvenuto in Slurp! Configura e aggiorna il Sistema. *"
echo "********************************************************"
echo ""
echo "Scegli cosa fare e inserisci il numero nel rigo in basso"
echo "........................................................"
echo ""
while true
do
PS3='Inserisci il numero per la tua scelta: '
options=("Esegui slackpkg update"
          "Esegui slackpkg upgrade-all"
          "Esegui slackpkg update gpg"
          "Seleziona un Mirror"
          "Configura slackpkplus"
          "Esci da Slurp")
select opt in "${options[@]}"
do
     case $opt in
          "Esegui slackpkg update")
             echo "slackpkg update"
slackpkg update
echo "Completato"
                        echo "........................................................"
                        echo ""
             break
             ;;
          "Esegui slackpkg upgrade-all")
             echo "slackpkg upgrade-all"
slackpkg upgrade-all
echo "Completato"
                        echo "........................................................"
                        echo ""
             break
             ;;
          "Esegui slackpkg update gpg")
             echo "slackpkg update gpg"
slackpkg update gpg
echo "Completato"
                        echo "........................................................"
                        echo ""
             break
             ;;       
         "Seleziona un Mirror")
             echo "Edita la lista dei mirrors"
leafpad /etc/slackpkg/mirrors
echo "Completato"
                        echo "........................................................"
                        echo ""
             break
             ;;         
         "Configura slackpkplus")
             echo ""
             echo "Edita la configurazione di slackpkgplus"
             echo ""
leafpad /etc/slackpkg/slackpkgplus.conf
echo "Completato"
                        echo "........................................................"
                        echo ""
             break
             ;;
         "Esci da Slurp")
             echo ""
             echo ""
             echo "Sei uscito da questo script. Arrivederci!"                 
             exit
             ;;
         *) echo invalid option;;
     esac
done
done
Titolo: Re:youtube-dl text download
Inserito da: trigg il Martedì 29 Maggio 2018, 18:43:26
ahhhh considerando che gentoo almeno per quanto ne so ed ho cercato non ha yuotube dl-gui ho pensato di fare questo script
per poter usare comodamente yuotubedl

nel video un'esempio pratico di cio che fa lo script è ancora lontano dalla mia idea ed è iancora grezzo
https://drive.google.com/file/d/1f7PUg-lij6dPcFj1rl_8R6C5UB-e936S/view?usp=sharing (https://drive.google.com/file/d/1f7PUg-lij6dPcFj1rl_8R6C5UB-e936S/view?usp=sharing)
è ancora in fase di sviluppo
1) chiedo a chi ne sa piu di me se ci sono errori
2) devo implementare la scelta dei formati
3) inserire una progress-bar del processo
4) punto importante a fine downaload avere una scelta chiudi  / inserisci nuovo link



#!/bin/bash

mkfifo /tmp/namedPipe1 # this creates named pipe, aka fifo

dialog --inputbox "This is an input box  with named pipe" 40 40 2> /tmp/namedPipe1 & # to make sure the shell doesn't hang, we run redirection in background, because fifo waits for output to come out

OUTPUT="$( cat /tmp/namedPipe1  )" # release contents of pipe

# while-menu-dialog: a menu driven system information program

DIALOG_CANCEL=1
DIALOG_ESC=255
HEIGHT=0
WIDTH=0

display_result() {
  dialog --title "$1" \
    --no-collapse \
    --msgbox "$result" 0 0
}

while true; do
  exec 3>&1
  selection=$(dialog \
    --backtitle "MP3" \
    --title "MP3" \
    --clear \
    --cancel-label "Exit" \
    --menu "Please select:" $HEIGHT $WIDTH 4 \
    "1" "MP3" \
    "2" "MP4" \
    "3" "BEST" \
    2>&1 1>&3)
  exit_status=$?
  exec 3>&-
  case $exit_status in
    $DIALOG_CANCEL)
      clear
      echo "Program terminated."
      exit
      ;;
    $DIALOG_ESC)
      clear
      echo "Program aborted." >&2
      exit 1
      ;;
  esac
  case $selection in
    0 )
      clear
      echo "Program terminated."
      ;;
    1 )
      result=$(youtube-dl -x --audio-format mp3 --audio-quality 0 $OUTPUT)
      display_result "MP3"
      ;;
    2 )
      result=$(youtube-dl --recode-video mp4 $OUTPUT)
      display_result "MP4"
      ;;
    3 )
        result=$(youtube-dl -x --audio-format best --audio-quality 0 $OUTPUT)
        display_result "BEST"
      ;;
  esac
done

echo  "This is the output " $OUTPUT
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Martedì 29 Maggio 2018, 19:34:07
Citazione di: trigg il Domenica 27 Maggio 2018, 10:08:01
...ho intenzione di fare uno script slackware-post install

uno script che ti guida a configuare correttamente slackware iniziando dalla tastiera, la lingua, le mirror, sclakpkgplus, sbopkg, sbuoi e l'installazione di tutti i .SBo.tgz salvati .

dopo non ricordo dove facesti una guida per installare whiskermenu dove si compilava manualmente l'installazione
vorrei fare anche uno script che ti fa scaricare il pacchetto , entrare nella cartella e compilare ed installare il pacchetto

si può fare?

Secondo me uno script post install ha senso solo se la sua esecuzione avviene in coda all'installazione, questo significa che dovresti prima modificare la iso di installazione. In alternativa dovrebbe essere eseguito al primo avvio, un po' come mi pare che fa Zenwalk, ma sempre modificando la iso.
Siccome il post install è bene farlo al primissimo login, in modo che xfce, per esempio, crei le cartelle della home direttamente in italiano (Il layout della tastiera per il sistema è già impostata in fase di installazione, l'unica impostazione residua è la tastiera in ambiente Xfce)...

...Ha veramente senso fare uno script che si usa una volta sola e quell'unica volta complica le cose invece di semplificarle?

Uno script che scarichi e installi slackpkgplus e sbopkg e che prepari sbopkg alla prima esecuzione e poi installi con sbopkg anche sboui potrebbe essere un'idea migliore.

Creare un pacchetto installabile ti consente di mettere insieme più script che lavoreranno insieme e fare tutte quelle cose che è possibile fare quando sai in anticipo quale sarà l'esatta ubicazione di ogni file installato. E' una bella possibilità, in uno script evoluto tornerebbe parecchio utile. Magari pensaci.

Spingerti oltre con le slackbuilds ha senso se fai uno script che sia in grado di gestire le dipendenze ricorsivamente (...esiste già) e con il quale sia possibile passare delle opzioni di compilazione (...per questo ogni SlackBuild ha un file README e per questo è così importante leggerlo).
Penso che per questo ci sono già programmi di provata solidità, sarebbe sufficiente poterli richiamare dallo script.
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Mercoledì 30 Maggio 2018, 11:50:07
ma no
sono certo che tutti gli utenti slackware hanno una cartella con i tar.gz
lo script è un copia incolla dei .conf delle mirror e della lingua , in maniera sisntetica
ed un copia incolla -install tar.gz

Titolo: Re:youtube-dl text menu
Inserito da: trigg il Mercoledì 30 Maggio 2018, 11:57:55
secondo steo dello script
youtube dl text menu

ho aggiunto nuovi formati e l'opzione nuovo download
questo script ha il vantaggio di mantenere il ink e quindi convertirlo in piu formati
nel video l'esempio pratico di seguito lo script
considerate che a livello amatoriale posso aver fatto degli errori anche se lo script gira
quindi ho semplificato tutto facendo in modo che possa esser letto con facilità da chi ne sa piu di me ;
invito chi è piu esperto ad individuare errori e/o eventuali migliorie

mi piacerebbe aggiungere una prgress bar del processo ma probabilmete dovrò reimostare tutto lo script
https://drive.google.com/file/d/17RjU-PwZ0b7mCsmXF_q-9BD8lW8GmNqt/view?usp=sharing (https://drive.google.com/file/d/17RjU-PwZ0b7mCsmXF_q-9BD8lW8GmNqt/view?usp=sharing)

#!/bin/bash

mkfifo /tmp/namedPipe1 # this creates named pipe, aka fifo

dialog --inputbox "This is an input box  with named pipe" 40 40 2> /tmp/namedPipe1 & # to make sure the shell doesn't hang, we run redirection in background, because fifo waits for output to come out

OUTPUT="$( cat /tmp/namedPipe1  )" # release contents of pipe

# while-menu-dialog: a menu driven system information program

DIALOG_CANCEL=1
DIALOG_ESC=255
HEIGHT=0
WIDTH=0

display_result() {
  dialog --title "$1" \
    --no-collapse \
    --msgbox "$result" 0 0
}

while true; do
  exec 3>&1
  selection=$(dialog \
    --backtitle "YouTube DL text-menu" \
    --title "YouTube DL text-menu" \
    --clear \
    --cancel-label "Exit" \
    --menu "Please select:" $HEIGHT $WIDTH 16 \
"fast" "scarica veloce"\
       "1" "MP4" \
    "2" "FLV" \
    "3" "OGG" \
"4" "WEBM" \
"5" "MKV" \
"6" "AVI" \
"7" "MP3" \
"8" "FLAC" \
"9" "AAC" \
"10" "M4A"\
"11" "OPUS"\
"12" "VORBIS"\
"13" "WAV"\
"14" "BEST"\
    "15" "NEW DOWNALOD" \
    2>&1 1>&3)
  exit_status=$?
  exec 3>&-
  case $exit_status in
    $DIALOG_CANCEL)
rm $OUTPUT
      clear
      echo "Program terminated."
      exit
      ;;
    $DIALOG_ESC)
rm $OUTPUT
      clear
      echo "Program aborted." >&2
      exit 1
      ;;
  esac
  case $selection in
    0 )
      clear
      echo "Program terminated."
      ;;
fast )
clear
result=$(exec youtube-dl $OUTPUT)
;;
    1 )
clear
echo __________m
echo ____________p
echo ______________4
echo ________________PROCESSO IN CORSO...
      result=$(exec youtube-dl --recode-video mp4 $OUTPUT)
 
      ;;
    2 )
clear
echo __________f
echo ____________l
echo ______________v
echo ________________PROCESSO IN CORSO...
      result=$(exec youtube-dl --recode-video flv $OUTPUT)
 
      ;;
    3)
clear
echo __________o
echo ____________g
echo ______________g
echo ________________PROCESSO IN CORSO...
      result=$(exec youtube-dl --recode-video ogg $OUTPUT)
 
      ;;
    4 )
clear
echo __________w
echo ____________e
echo ______________b
echo ________________m
echo __________________PROCESSO IN CORSO...
      result=$(exec youtube-dl --recode-video webm $OUTPUT)
 
      ;;
    5)
clear
echo __________m
echo ____________k
echo ______________v
echo ________________PROCESSO IN CORSO...
      result=$(exec youtube-dl --recode-video mkv $OUTPUT)
 
      ;;
    6 )
clear
echo __________a
echo ____________v
echo ______________i
echo ________________PROCESSO IN CORSO...
      result=$(exec youtube-dl --recode-video avi $OUTPUT)
 
      ;;
    7 )
clear
echo __________m
echo ____________p
echo ______________3
echo ________________PROCESSO IN CORSO ...
      result=$(youtube-dl -x --audio-format mp3 --audio-quality 0 $OUTPUT)
      ;;
    8 )
clear
echo __________f
echo ____________l
echo ______________a
echo ________________c
echo __________________PROCESSO IN CORSO...
      result=$(youtube-dl -x --audio-format flac --audio-quality 0 $OUTPUT)
 
      ;;
    9 )
clear
echo __________a
echo ____________a
echo ______________c
echo ________________PROCESSO IN CORSO ...
      result=$(youtube-dl -x --audio-format aac --audio-quality 0 $OUTPUT)
      ;;
   10 )
clear
echo __________m
echo ____________4
echo ______________a
echo ________________PROCESSO IN CORSO ...
      result=$(youtube-dl -x --audio-format m4a --audio-quality 0 $OUTPUT)
      ;;
   11 )
clear
echo __________o
echo ____________p
echo ______________u
echo ________________s
echo __________________PROCESSO IN CORSO ...
      result=$(youtube-dl -x --audio-format opus --audio-quality 0 $OUTPUT)
      ;;
    12 )
clear
echo __________v
echo ____________o
echo ______________r
echo ________________b
echo __________________i
echo ____________________s
echo ______________________PROCESSO IN CORSO ...
      result=$(youtube-dl -x --audio-format vorbis --audio-quality 0 $OUTPUT)
      ;;
    13 )
clear
echo __________w
echo ____________a
echo ______________v
echo ________________PROCESSO IN CORSO ...
      result=$(youtube-dl -x --audio-format wav --audio-quality 0 $OUTPUT)
      ;;
    14 )
clear
echo __________b
echo ____________e
echo ______________s
echo ________________t
echo __________________PROCESSO IN CORSO ...
      result=$(youtube-dl -x --audio-format best --audio-quality 0 $OUTPUT)
      ;;
    15 )
        result=$(rm $OUTPUT )
        mkfifo /tmp/namedPipe1 # this creates named pipe, aka fifo

dialog --inputbox "This is an input box  with named pipe" 40 40 2> /tmp/namedPipe1 & # to make sure the shell doesn't hang, we run redirection in background, because fifo waits for output to come out

OUTPUT="$( cat /tmp/namedPipe1  )" # release contents of pipe
      ;;
  esac
done





Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Giovedì 31 Maggio 2018, 23:14:21
nel video c'è un progetto che ho iniziato
un lanciatore di script in .py
il progetto è molto lungo e borioso
sarà un lanciatore universale per le funzioni di installazione rimozione e aggiornamento di tutti i sistemi
arch , slackware, mint e gentoo

lo so che esistono i file manger  dedicati ma per me è sempre un punto di partenza e mi diverto a fare questo
forse farò in .py il tool di pulizia di sistema ma vedremo

il video
https://drive.google.com/file/d/1zH_tMNLNjmNEUtdmetJr8A2b_wKOqJPF/view?usp=sharing (https://drive.google.com/file/d/1zH_tMNLNjmNEUtdmetJr8A2b_wKOqJPF/view?usp=sharing)
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Domenica 03 Giugno 2018, 11:05:21
ho tralasciato il progetto .py
sarebbe diventato uno studio ed un vero e proprio lavoro continuare i .py
continuerò con gli script :
il seguente è simile ai precedenti ho solo lavoato sull'aspetto con dando un tema con caratteri ascii

nel video le sue funzionalità
https://drive.google.com/file/d/1bCY2Su4_RGOAemkKSD025YfsnGKhoBEH/view?usp=sharing (https://drive.google.com/file/d/1bCY2Su4_RGOAemkKSD025YfsnGKhoBEH/view?usp=sharing)


#!/bin/bash



echo "???????????????????????????????????????????????????????????????????????????"
echo "?      ??????????????????????????????????????????????????????????????     ?"
echo "?      ?                                                            ?     ?"
echo "?      ?              Scegli l'operazione da eseguire:              ?     ?"
echo "?      ?                                                            ?     ?"
echo "?      ???????????PACMAN??????????        ??????????YAOURT???????????     ?"
echo "?      ??[1] Cerca App           ?        ?[7] Cerca in Yaourt     ??     ?"
echo "?      ??[2] Installa App        ?        ?[8] Installa con Yaourt ??     ?"
echo "?      ??[3] Rimuovi App         ?        ?[9] Rimuovi App         ??     ?"
echo "?      ??[4] Rimuovi App e Dip.  ?        ?[10]Rimuovi App e Dip.  ??     ?"
echo "?      ??[5] Aggiorna Sitema     ?        ?                        ??     ?"
echo "?      ??[6] Aggiorna Key        ?        ?               [0] Esci ??     ?"
echo "?      ???????????????????????????        ???????????????????????????     ?"
echo "?      ??????????????????????????????????????????????????????????????     ?"
echo "?                                                                         ?"; 
echo "?                           *   )                                         ?";
echo "?                         \` )  /( (   (   (  (  (  (                      ? ";
echo "?                          ( )(_)))(  )\  )\))( )\))(                     ? ";
echo "?                         (_(_())(()\((_)((_))\((_))\                     ? ";
echo "?                         |_   _| ((_)(_) (()(_)(()(_)                    ? ";
echo "?                           | |  | '_|| |/ _\` |/ _\` |                     ?";
echo "?                           |_|  |_|  |_|\__, |\__, |                     ?";
echo "?                                        |___/ |___/                      ?";
echo "???????????????????????????????????????????????????????????????????????????"
read selezione

   
case "$selezione" in
# Note variable is quoted.

  "1" )
  # Accept upper or lowercase input.
  echo
  echo "Quale Pacchetto desideri cercare ?"
read pacchetto
pacman -Ss $pacchetto



echo " ___  ___   ___  __  __  __    _  _  _  _    ____  __   ___  ____  __  ";
echo "(  ,\(  ,) (  _)(  \/  )(  )  ( )( )( \( )  (_  _)(  ) / __)(_  _)/  \ ";
echo " ) _/ )  \  ) _) )    (  )(    )()(  )  (     )(  /__\ \__ \  )( ( () )";
echo "(_)  (_)\_)(___)(_/\/\_)(__)   \__/ (_)\_)   (__)(_)(_)(___/ (__) \__/ ";
echo " ___  ___  ___      __  __  _  _  ____  __  _  _  _  _  __   ___   ___ ";
echo "(  ,\(  _)(  ,)    / _)/  \( \( )(_  _)(  )( \( )( )( )(  ) (  ,) (  _)";
echo " ) _/ ) _) )  \   ( (_( () ))  (   )(   )(  )  (  )()( /__\  )  \  ) _)";
echo "(_)  (___)(_)\_)   \__)\__/(_)\_) (__) (__)(_)\_) \__/(_)(_)(_)\_)(___)";


read -n1
sh trigg.sh

  ;;

"2" )
echo "Quale Pacchetto desideri installare  ?"               
            read inst
sudo pacman -S $inst

echo " ___  ___   ___  __  __  __    _  _  _  _    ____  __   ___  ____  __  ";
echo "(  ,\(  ,) (  _)(  \/  )(  )  ( )( )( \( )  (_  _)(  ) / __)(_  _)/  \ ";
echo " ) _/ )  \  ) _) )    (  )(    )()(  )  (     )(  /__\ \__ \  )( ( () )";
echo "(_)  (_)\_)(___)(_/\/\_)(__)   \__/ (_)\_)   (__)(_)(_)(___/ (__) \__/ ";
echo " ___  ___  ___      __  __  _  _  ____  __  _  _  _  _  __   ___   ___ ";
echo "(  ,\(  _)(  ,)    / _)/  \( \( )(_  _)(  )( \( )( )( )(  ) (  ,) (  _)";
echo " ) _/ ) _) )  \   ( (_( () ))  (   )(   )(  )  (  )()( /__\  )  \  ) _)";
echo "(_)  (___)(_)\_)   \__)\__/(_)\_) (__) (__)(_)\_) \__/(_)(_)(_)\_)(___)";

read -n1
sh trigg.sh
             ;;
"3" )
echo "Quale Pacchetto desideri rimuovere  ?"               
            read remv
sudo pacman -R $remv

echo " ___  ___   ___  __  __  __    _  _  _  _    ____  __   ___  ____  __  ";
echo "(  ,\(  ,) (  _)(  \/  )(  )  ( )( )( \( )  (_  _)(  ) / __)(_  _)/  \ ";
echo " ) _/ )  \  ) _) )    (  )(    )()(  )  (     )(  /__\ \__ \  )( ( () )";
echo "(_)  (_)\_)(___)(_/\/\_)(__)   \__/ (_)\_)   (__)(_)(_)(___/ (__) \__/ ";
echo " ___  ___  ___      __  __  _  _  ____  __  _  _  _  _  __   ___   ___ ";
echo "(  ,\(  _)(  ,)    / _)/  \( \( )(_  _)(  )( \( )( )( )(  ) (  ,) (  _)";
echo " ) _/ ) _) )  \   ( (_( () ))  (   )(   )(  )  (  )()( /__\  )  \  ) _)";
echo "(_)  (___)(_)\_)   \__)\__/(_)\_) (__) (__)(_)\_) \__/(_)(_)(_)\_)(___)";

read -n1
sh trigg.sh
             ;;
"4" )
echo "Quali Pacchetti desideri rimuovere  ?"               
            read rev
sudo pacman -Rs $rev

echo " ___  ___   ___  __  __  __    _  _  _  _    ____  __   ___  ____  __  ";
echo "(  ,\(  ,) (  _)(  \/  )(  )  ( )( )( \( )  (_  _)(  ) / __)(_  _)/  \ ";
echo " ) _/ )  \  ) _) )    (  )(    )()(  )  (     )(  /__\ \__ \  )( ( () )";
echo "(_)  (_)\_)(___)(_/\/\_)(__)   \__/ (_)\_)   (__)(_)(_)(___/ (__) \__/ ";
echo " ___  ___  ___      __  __  _  _  ____  __  _  _  _  _  __   ___   ___ ";
echo "(  ,\(  _)(  ,)    / _)/  \( \( )(_  _)(  )( \( )( )( )(  ) (  ,) (  _)";
echo " ) _/ ) _) )  \   ( (_( () ))  (   )(   )(  )  (  )()( /__\  )  \  ) _)";
echo "(_)  (___)(_)\_)   \__)\__/(_)\_) (__) (__)(_)\_) \__/(_)(_)(_)\_)(___)";

read -n1
sh trigg.sh
             ;;
"5" )
echo "stai lanciando sudo pacman -Sy && sudo pacman -Syu"               

echo " ___  ___   ___  __  __  __    _  _  _  _    ____  __   ___  ____  __  ";
echo "(  ,\(  ,) (  _)(  \/  )(  )  ( )( )( \( )  (_  _)(  ) / __)(_  _)/  \ ";
echo " ) _/ )  \  ) _) )    (  )(    )()(  )  (     )(  /__\ \__ \  )( ( () )";
echo "(_)  (_)\_)(___)(_/\/\_)(__)   \__/ (_)\_)   (__)(_)(_)(___/ (__) \__/ ";
echo " ___  ___  ___      __  __  _  _  ____  __  _  _  _  _  __   ___   ___ ";
echo "(  ,\(  _)(  ,)    / _)/  \( \( )(_  _)(  )( \( )( )( )(  ) (  ,) (  _)";
echo " ) _/ ) _) )  \   ( (_( () ))  (   )(   )(  )  (  )()( /__\  )  \  ) _)";
echo "(_)  (___)(_)\_)   \__)\__/(_)\_) (__) (__)(_)\_) \__/(_)(_)(_)\_)(___)";

read -n1
sudo pacman -Sy && sudo pacman -Syu

echo " ___  ___   ___  __  __  __    _  _  _  _    ____  __   ___  ____  __  ";
echo "(  ,\(  ,) (  _)(  \/  )(  )  ( )( )( \( )  (_  _)(  ) / __)(_  _)/  \ ";
echo " ) _/ )  \  ) _) )    (  )(    )()(  )  (     )(  /__\ \__ \  )( ( () )";
echo "(_)  (_)\_)(___)(_/\/\_)(__)   \__/ (_)\_)   (__)(_)(_)(___/ (__) \__/ ";
echo " ___  ___  ___      __  __  _  _  ____  __  _  _  _  _  __   ___   ___ ";
echo "(  ,\(  _)(  ,)    / _)/  \( \( )(_  _)(  )( \( )( )( )(  ) (  ,) (  _)";
echo " ) _/ ) _) )  \   ( (_( () ))  (   )(   )(  )  (  )()( /__\  )  \  ) _)";
echo "(_)  (___)(_)\_)   \__)\__/(_)\_) (__) (__)(_)\_) \__/(_)(_)(_)\_)(___)";

read -n1
sh trigg.sh
             ;;
"6" )
echo "sudo pacman -S archlinux-keyring && sudo pacman -Syu"               

echo " ___  ___   ___  __  __  __    _  _  _  _    ____  __   ___  ____  __  ";
echo "(  ,\(  ,) (  _)(  \/  )(  )  ( )( )( \( )  (_  _)(  ) / __)(_  _)/  \ ";
echo " ) _/ )  \  ) _) )    (  )(    )()(  )  (     )(  /__\ \__ \  )( ( () )";
echo "(_)  (_)\_)(___)(_/\/\_)(__)   \__/ (_)\_)   (__)(_)(_)(___/ (__) \__/ ";
echo " ___  ___  ___      __  __  _  _  ____  __  _  _  _  _  __   ___   ___ ";
echo "(  ,\(  _)(  ,)    / _)/  \( \( )(_  _)(  )( \( )( )( )(  ) (  ,) (  _)";
echo " ) _/ ) _) )  \   ( (_( () ))  (   )(   )(  )  (  )()( /__\  )  \  ) _)";
echo "(_)  (___)(_)\_)   \__)\__/(_)\_) (__) (__)(_)\_) \__/(_)(_)(_)\_)(___)";

read -n1
sudo pacman -S archlinux-keyring && sudo pacman -Syu

echo " ___  ___   ___  __  __  __    _  _  _  _    ____  __   ___  ____  __  ";
echo "(  ,\(  ,) (  _)(  \/  )(  )  ( )( )( \( )  (_  _)(  ) / __)(_  _)/  \ ";
echo " ) _/ )  \  ) _) )    (  )(    )()(  )  (     )(  /__\ \__ \  )( ( () )";
echo "(_)  (_)\_)(___)(_/\/\_)(__)   \__/ (_)\_)   (__)(_)(_)(___/ (__) \__/ ";
echo " ___  ___  ___      __  __  _  _  ____  __  _  _  _  _  __   ___   ___ ";
echo "(  ,\(  _)(  ,)    / _)/  \( \( )(_  _)(  )( \( )( )( )(  ) (  ,) (  _)";
echo " ) _/ ) _) )  \   ( (_( () ))  (   )(   )(  )  (  )()( /__\  )  \  ) _)";
echo "(_)  (___)(_)\_)   \__)\__/(_)\_) (__) (__)(_)\_) \__/(_)(_)(_)\_)(___)";

read -n1
sh trigg.sh
             ;;
  "7" )
  #  input.
  echo
  echo "Quale Pacchetto desideri cercare ?"
read pacchetto
yaourt -Ss $pacchetto

echo " ___  ___   ___  __  __  __    _  _  _  _    ____  __   ___  ____  __  ";
echo "(  ,\(  ,) (  _)(  \/  )(  )  ( )( )( \( )  (_  _)(  ) / __)(_  _)/  \ ";
echo " ) _/ )  \  ) _) )    (  )(    )()(  )  (     )(  /__\ \__ \  )( ( () )";
echo "(_)  (_)\_)(___)(_/\/\_)(__)   \__/ (_)\_)   (__)(_)(_)(___/ (__) \__/ ";
echo " ___  ___  ___      __  __  _  _  ____  __  _  _  _  _  __   ___   ___ ";
echo "(  ,\(  _)(  ,)    / _)/  \( \( )(_  _)(  )( \( )( )( )(  ) (  ,) (  _)";
echo " ) _/ ) _) )  \   ( (_( () ))  (   )(   )(  )  (  )()( /__\  )  \  ) _)";
echo "(_)  (___)(_)\_)   \__)\__/(_)\_) (__) (__)(_)\_) \__/(_)(_)(_)\_)(___)";

read -n1
sh trigg.sh

  ;;
  "8" )
  #  input.
  echo
  echo "Quale Pacchetto desideri installare ?"
read pacchetto
yaourt -S $pacchetto

echo " ___  ___   ___  __  __  __    _  _  _  _    ____  __   ___  ____  __  ";
echo "(  ,\(  ,) (  _)(  \/  )(  )  ( )( )( \( )  (_  _)(  ) / __)(_  _)/  \ ";
echo " ) _/ )  \  ) _) )    (  )(    )()(  )  (     )(  /__\ \__ \  )( ( () )";
echo "(_)  (_)\_)(___)(_/\/\_)(__)   \__/ (_)\_)   (__)(_)(_)(___/ (__) \__/ ";
echo " ___  ___  ___      __  __  _  _  ____  __  _  _  _  _  __   ___   ___ ";
echo "(  ,\(  _)(  ,)    / _)/  \( \( )(_  _)(  )( \( )( )( )(  ) (  ,) (  _)";
echo " ) _/ ) _) )  \   ( (_( () ))  (   )(   )(  )  (  )()( /__\  )  \  ) _)";
echo "(_)  (___)(_)\_)   \__)\__/(_)\_) (__) (__)(_)\_) \__/(_)(_)(_)\_)(___)";

read -n1
sh trigg.sh

  ;;
"9" )
echo "Quale Pacchetto desideri rimuovere  ?"               
            read emv
yaourt -R $emv

echo " ___  ___   ___  __  __  __    _  _  _  _    ____  __   ___  ____  __  ";
echo "(  ,\(  ,) (  _)(  \/  )(  )  ( )( )( \( )  (_  _)(  ) / __)(_  _)/  \ ";
echo " ) _/ )  \  ) _) )    (  )(    )()(  )  (     )(  /__\ \__ \  )( ( () )";
echo "(_)  (_)\_)(___)(_/\/\_)(__)   \__/ (_)\_)   (__)(_)(_)(___/ (__) \__/ ";
echo " ___  ___  ___      __  __  _  _  ____  __  _  _  _  _  __   ___   ___ ";
echo "(  ,\(  _)(  ,)    / _)/  \( \( )(_  _)(  )( \( )( )( )(  ) (  ,) (  _)";
echo " ) _/ ) _) )  \   ( (_( () ))  (   )(   )(  )  (  )()( /__\  )  \  ) _)";
echo "(_)  (___)(_)\_)   \__)\__/(_)\_) (__) (__)(_)\_) \__/(_)(_)(_)\_)(___)";

read -n1
sh trigg.sh
             ;;

"10" )
echo "Quale Pacchetto desideri rimuovere  ?"               
            read rv
sudo yaourt -Rs $rv

echo " ___  ___   ___  __  __  __    _  _  _  _    ____  __   ___  ____  __  ";
echo "(  ,\(  ,) (  _)(  \/  )(  )  ( )( )( \( )  (_  _)(  ) / __)(_  _)/  \ ";
echo " ) _/ )  \  ) _) )    (  )(    )()(  )  (     )(  /__\ \__ \  )( ( () )";
echo "(_)  (_)\_)(___)(_/\/\_)(__)   \__/ (_)\_)   (__)(_)(_)(___/ (__) \__/ ";
echo " ___  ___  ___      __  __  _  _  ____  __  _  _  _  _  __   ___   ___ ";
echo "(  ,\(  _)(  ,)    / _)/  \( \( )(_  _)(  )( \( )( )( )(  ) (  ,) (  _)";
echo " ) _/ ) _) )  \   ( (_( () ))  (   )(   )(  )  (  )()( /__\  )  \  ) _)";
echo "(_)  (___)(_)\_)   \__)\__/(_)\_) (__) (__)(_)\_) \__/(_)(_)(_)\_)(___)";

read -n1
sh trigg.sh
             ;;

"0" )
echo "Grazie per aver usato il mio Script..."                 
             exit
             ;;

esac

echo


:ciao:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: cuzzo il Domenica 03 Giugno 2018, 15:47:53
Scusate magari non c'entra nel post ma visto che parlate di officina script....  ;D

sto litigando con dconf per avere la sospensione a percentuale,
nel frattempo
è fattibile uno script, che duranrte la scarica della batteria ( portatile ) al 20% attivi la sospensione?

sono su mate e gnome-shell.

lo metto all'avvio e disabilito quello da gestore alimentazione( non mi cambia i parametri di percentuale)

grassie e gnao dal cuzzo  :cool:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Domenica 03 Giugno 2018, 17:41:11
di primo acchito mi è venuto in mente uno anzi due script che possono sospender il pc in base al tempo

questo si avvia in background e dorme per 7200 secondi 2 ore (puoi variare il tempo
dopo 2 ore lancia il secondo script
#!/bin/bash

nohup command &>/dev/null &

sleep 7200

exo-open --launch TerminalEmulator sh /usr/local/bin/'script di sospensione pc'/suspend.sh

exit 0



secondo script ti avvisa che tra 30 secondi ci sarà la sospensione del pc ma che puoi annullare l'operazione premendo Control-C
#!/bin/bash

TIME_LIMIT=30
INTERVAL=1

echo
echo "Hit Control-C to exit before $TIME_LIMIT seconds."
echo

while [ "$SECONDS" -le "$TIME_LIMIT" ]
do   #   $SECONDS is an internal shell variable.
  if [ "$SECONDS" -eq 1 ]
  then
    units=second
  else 
    units=seconds
  fi

  echo "premi Control-C per annulare la sospensione  $SECONDS $units. di 30"

  sleep $INTERVAL
done

echo -e "\a"  # Beep!

systemctl suspend

exit 0


puoi mettere i due script in una cartella chiamata "script di sospensione pc" in usr/local/bin

aggiungere il primo script allìavvio del pc come esecuzione automatica ,  dare il nome "suspend.sh" al secondo script

e vedere se ti piace l'idea del timing invece che della batteria

purtroppo non ho un portatile non posso cimentarmi con questo tipo di script
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Domenica 03 Giugno 2018, 18:06:34
@trigg, nel primo script usi questo comando:

exo-open --launch TerminalEmulator sh /usr/local/bin/'script di sospensione pc'/suspend.sh

Considera che exo (https://docs.xfce.org/xfce/exo/start) funziona solo con XFCE, è di "proprietà" di xfce, invece @cuzzo usa Gnome e Mate.

:ciao:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: cuzzo il Domenica 03 Giugno 2018, 18:14:02
grazie ma mi serve a percentuale,

come si modifica?

gnao dal cuzzo  :cool:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Domenica 03 Giugno 2018, 19:07:56
dovrebbe e sottolineo dovrebbe essere così

quando la batteria è al 20% lancia l'altro script
#!/bin/bash

nohup command &>/dev/null &

battery_level=`acpi -b | grep -P -o '[0-9]+(?=%)'`
if [ $battery_level -le 20 ]
then
    exo-open --launch TerminalEmulator sh /usr/local/bin/'script di sospensione pc'/suspend.sh


fi
exit 0

https://unix.stackexchange.com/questions/60778/how-can-i-get-an-alert-when-my-battery-is-about-to-die-in-linux-mint (https://unix.stackexchange.com/questions/60778/how-can-i-get-an-alert-when-my-battery-is-about-to-die-in-linux-mint)

devi cambiare  exo-open --launch TerminalEmulator sh  con il comando del tuo terminale

puoi anche non usare l'altro script ma mi sembra brutale una sospensione immediata

Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: cuzzo il Domenica 03 Giugno 2018, 19:46:29
Innanzitutto, grazie  :)

se ho capito, il terminale in mate si lancia con
mate-terminal quindi
#!/bin/bash

nohup command &>/dev/null &

battery_level=`acpi -b | grep -P -o '[0-9]+(?=%)'`
if [ $battery_level -le 20 ]
then
    mate-terminal -e  /usr/local/bin/'script di sospensione pc'/suspend.sh


fi
exit 0

devo aggiungergi sh  o -e dopo mate-terminal?

grazie e gnao dal cuzzo  :cool:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Domenica 03 Giugno 2018, 20:00:12
Scusami te si rispondo io, se non funziona l'opzione -e, prova con -x. Si, dovresti aggiungere
sh.
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Domenica 03 Giugno 2018, 20:04:59
tranquillo nick ^_^ anzi speravo in un'intervento
mate lìho sempre tralasciato quindi faccio più fatica a trovare i comandi

dovrebbe essere così
mate-terminal -e /usr/local/bin/'script di sospensione pc'/suspend.sh
oppure
gnome-terminal -e  "bash /usr/local/bin/'script di sospensione pc'/suspend.sh"

ricordati di dare i permessi di esecuzione dello script

chmod +x nnomescript.sh

dopo dovrebbero andare ma non avendo ilporatilee non ho testato lo script della batteria

Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: cuzzo il Domenica 03 Giugno 2018, 20:59:05
Provo,   :)

gnao dal cuzzo  :cool:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Lunedì 04 Giugno 2018, 07:12:49
(https://i.imgur.com/C4YWV6s.png)

questo fa tutto con uno script
esce il messaggio in alto a destra
#!/bin/bash

nohup command &>/dev/null &

battery_level=`acpi -b | grep -P -o '[0-9]+(?=%)'`
if [ $battery_level -le 20 ]
then
notify-send "Battery low" "PREMI Control_c
per annullare
la sospensione
del portatile
${battery_level}%!"

fi
TIME_LIMIT=30
INTERVAL=1

echo
echo "Hit Control-C to exit before $TIME_LIMIT seconds."
echo

while [ "$SECONDS" -le "$TIME_LIMIT" ]
do   #   $SECONDS is an internal shell variable.
  if [ "$SECONDS" -eq 1 ]
  then
    units=second
  else 
    units=seconds
  fi

  echo "premi Control-C per annulare la sospensione  $SECONDS $units. di 30"

  sleep $INTERVAL
done

echo -e "\a"  # Beep!

systemctl suspend
exit 0


dovrebbe andare, ma non posso testarlo non avendo il portatile
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: cuzzo il Lunedì 04 Giugno 2018, 19:59:57
se non hai cambiato al riguardo del rilevamento batteria, non va.

permessi apposto poichè funziona quando accendi il pc e la batteria è gia sotto il 20%, con alimentazione, parte subito il conteggio e la sospensione.

penso bisognerà specificare la percentuale mentre si sta scaricando e non sotto carica.
carino questo con la notifica  :ok:

grazie trigg

gnao dal cuzzo  :cool:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Lunedì 04 Giugno 2018, 21:51:28
ma funziona ?
cioè con la batteria sotto al 20% ti chiede se sospendere il pc o di annullare il processo ; giusto?

quello che vuoi fare è anche di dire al pc :
se il pc è collegato non fare niente

giusto?

se ho capito bene è una cosa che si può fare , solo che non ho il portatile e non posso testare il corretto funzionamento dello script

dovrò essere come Beethoween che scriveva musica senza alscoltarla  :grin:

vabbè ci provo e vediamo come va  :'(
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: cuzzo il Lunedì 04 Giugno 2018, 23:02:30
allora,
il suo lavoro, in fase di scaricamento della batteria , di far scattare la sospensione quando si arriva al 20%  non lo fa.

si aziona ( tutto come impostato  :ok: ) solo quando avvio e la batteria è già sotto il 20% ( anche se alimentato ).
come se il suo lavoro fosse di controllare la percentuale solo all'avvio del sistema.
come è andata con il mio itagliano?  ;D

purtroppo io ho il portatile ma sono negato, te sei un mago senza  :D
non diventare matto, grassie.

gnao dal cuzzo  :cool:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Martedì 05 Giugno 2018, 09:25:48
prova questo
devi solo cambiare il comando del terminale con quello di mate

chiama lo script checkbattery.sh e rendilo eseguibile (spostalo in /usr/local/bin/'script di sospensione pc'/)
#!/bin/bash

DIR="/sys/class/power_supply/BAT0"
STATUS=$(cat "$DIR/status")

if [ "$STATUS" == "Discharging" ]
then
        for PREFIX in "charge" "energy"
        do
                if [ -f "$DIR/${PREFIX}_now" ] && [ -f "$DIR/${PREFIX}_full" ]
                then
                        REMAIN=$(cat "$DIR/${PREFIX}_now")
                        FULL=$(cat "$DIR/${PREFIX}_full")
                        PRCT=$((100 * $REMAIN / $FULL))
                        if [ $PRCT -le 21 ]
                        then
                            exo-open --launch TerminalEmulator sh /usr/local/bin/'script di sospensione pc'/suspend.sh
                        fi
                        break
                fi
        done
fi


devi aggiungere lo script in crontab
0 * * * * /usr/local/bin/'script di sospensione pc'/checkbattery.sh['/code]
dovrebbe andare bene

ogni ora ti controllerà lo stato della batteria se sarà sotto il 21% ti lancerà lo script di sopsensione/annullamento

oppure prova questo
https://www.pcsuggest.com/show-notification-play-sound-low-battery-linux/ (https://www.pcsuggest.com/show-notification-play-sound-low-battery-linux/)
Titolo: Re:script per installare yourt
Inserito da: trigg il Martedì 05 Giugno 2018, 12:23:41
https://drive.google.com/file/d/1v0K-QqYgh6g9ci5LzGPpfgLft6l3CfVn/view?usp=sharing (https://drive.google.com/file/d/1v0K-QqYgh6g9ci5LzGPpfgLft6l3CfVn/view?usp=sharing)

#!/bin/bash
whiptail --title "Benvenuti" --msgbox "Benvenuti nello script d'installazione di Yaourt per Arch-Linux e derivate. Clicca Ok per continuare." 10 60

if (whiptail --title "Hai installato le dipendenze di Yaourt?" --yesno "Scegli SI se hai le dipendenze  No per installarle." 10 60) then
    whiptail --title "Installazione di package-query" --msgbox "Permetterà a yaourt di lavorare correttamente Clicca Ok per continuare." 10 60
else
echo
echo "stai per lanciare sudo pacman -S --needed base-devel git wget yajl

alla domanda Digita una selezione (default=tutto): premi INVIO"
echo
echo "premi un tasto per continuare"
read -n1
    sudo pacman -S --needed base-devel git wget yajl
fi
{
    for ((i = 0 ; i <= 100 ; i+=20)); do
        sleep 1
        echo $i
    done
} | whiptail --gauge "Attendere il Processo" 6 60 0


echo "download pacchetto"
git clone https://aur.archlinux.org/package-query.git
clear
echo "stai per spostarti nella cartella scaricata con cd package-query/"
echo
echo "premi un tasto per continuare"
read -n1

cd package-query/

echo "stai per installare package-query con  makepkg -si"
echo
echo "premi un tasto per continuare"
read -n1
makepkg -si

{
    for ((i = 0 ; i <= 100 ; i+=20)); do
        sleep 1
        echo $i
    done
} | whiptail --gauge "Attendere il Processo" 6 60 0

cd ..

echo "download pacchetto"
git clone https://aur.archlinux.org/yaourt.git
clear

echo "stai per spostarti nella cartella scaricata con cd yaourt/"
echo
echo "premi un tasto per continuare"
read -n1

cd yaourt/

echo "stai per installare yaourt con  makepkg -si"
echo
echo "premi un tasto per continuare"
read -n1
makepkg -si
clear
echo "stai per per rimuover yaourt e package-query scaricati e creati"
echo
echo "premi un tasto per continuare"
read -n1
cd ..
sudo rm -dR yaourt/ package-query/

exit



a questo punto basterà o usare il mio script trigg
http://www.linuxminditalia.org/index.php?topic=24542.msg267923#msg267923 (http://www.linuxminditalia.org/index.php?topic=24542.msg267923#msg267923)

oppure usare il festore grafico installandolo con
yaourt -S pamac-aur



Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Martedì 05 Giugno 2018, 21:54:50
ho implementato lo script di installazione di yaourt
aggiungendo anche la possibilità di installare alcuni pacchetti utili presi da ubuntu studio , creato per avere uno script-book dopo l'installazione di arch e derivate
https://drive.google.com/file/d/1GGZ8bm3xRp-Wh76bs19ekqKIpxon-uD9/view?usp=sharing (https://drive.google.com/file/d/1GGZ8bm3xRp-Wh76bs19ekqKIpxon-uD9/view?usp=sharing)
#!/bin/bash
whiptail --title "Benvenuti" --msgbox "Benvenuti nello script d'installazione di Yaourt per Arch-Linux e derivate. Clicca Ok per continuare." 10 60

if (whiptail --title "Hai installato le dipendenze di Yaourt?" --yesno "Scegli SI se hai le dipendenze  No per installarle." 10 60) then
    whiptail --title "Installazione di package-query" --msgbox "Permetterà a yaourt di lavorare correttamente Clicca Ok per continuare." 10 60
else
echo
echo "stai per lanciare sudo pacman -S --needed base-devel git wget yajl

alla domanda Digita una selezione (default=tutto): premi INVIO"
echo
echo "premi un tasto per continuare"
read -n1
    sudo pacman -S --needed base-devel git wget yajl
fi
{
    for ((i = 0 ; i <= 100 ; i+=20)); do
        sleep 1
        echo $i
    done
} | whiptail --gauge "Attendere il Processo" 6 60 0


echo "download pacchetto"
git clone https://aur.archlinux.org/package-query.git
clear
echo "stai per spostarti nella cartella scaricata con cd package-query/"
echo
echo "premi un tasto per continuare"
read -n1

cd package-query/

echo "stai per installare package-query con  makepkg -si"
echo
echo "premi un tasto per continuare"
read -n1
makepkg -si

{
    for ((i = 0 ; i <= 100 ; i+=20)); do
        sleep 1
        echo $i
    done
} | whiptail --gauge "Attendere il Processo" 6 60 0

cd ..

echo "download pacchetto"
git clone https://aur.archlinux.org/yaourt.git
clear

echo "stai per spostarti nella cartella scaricata con cd yaourt/"
echo
echo "premi un tasto per continuare"
read -n1

cd yaourt/

echo "stai per installare yaourt con  makepkg -si"
echo
echo "premi un tasto per continuare"
read -n1
makepkg -si
clear
echo "stai per per rimuovere yaourt e package-query scaricati e creati"
echo
echo "premi un tasto per continuare"
read -n1
cd ..
sudo rm -dR yaourt/ package-query/

echo "stai per aggiornare il sistema"
echo
echo "premi un tasto per continuare"
read -n1
sudo pacman -Sy && sudo pacman -Syu

clear

#!/bin/bash
audio=$(whiptail --title "AUDIO" --checklist \
"Vuoi installare questi software audio ?
Altrimenti clicca ANNULLA e passa alla Grafica " 15 70 7 \
"jack" "server audio e midi con bassa latenza" OFF \
"ardour" "workstation audio digitale" OFF \
"audacity" "audio Wave Editor" OFF \
"qtractor" "DAW midi" OFF \
"hydrogen" "sequenziatore di batteria" OFF \
"yoshimi" "sintetizzatore" OFF \
"guitarix2" "simulatori di amplificatori per chitarra" OFF 3>&1 1>&2 2>&3 )

exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator sudo pacman -S  $audio
clear
echo
echo "premi un tasto per continuare"
read -n1
   grafica=$(whiptail --title "GRAFICA" --checklist \
"Vuoi installare questi software per la grafica ?
Altrimenti clicca ANNULLA e passa ai Video " 15 70 7 \
"blender" "suite di creazione di contenuti 3D completa" OFF \
"inkscape" "editor di grafica vettoriale" OFF \
"gimp" "il mio preferito" OFF \
"mypaint" "strumento di pittura digitale" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator sudo pacman -S  $grafica
clear
echo
echo "premi un tasto per continuare"
read -n1

video=$(whiptail --title "VIDEO" --checklist \
"Vuoi installare questi software per video ?
Altrimenti clicca ANNULLA e passa a Fotografia " 15 70 7 \
"openshot" "editor di video per Linux" OFF \
"simplescreenrecorder" "screen recorder per Linux" OFF \
"ffmpeg" "framework multimediale" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator sudo pacman -S  $video
clear
echo
echo "premi un tasto per continuare"
read -n1

foto=$(whiptail --title "FOTOGRAFIA" --checklist \
"Vuoi installare questi software per Fotografie ?
Altrimenti clicca ANNULLA e passa a Pubblicazione " 15 70 7 \
"darktable" "lavoro fotografico e sviluppatore RAW" OFF \
"shotwell" " organizza la tua libreria di foto" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator sudo pacman -S  $foto
clear
echo
echo "premi un tasto per continuare"
read -n1

  pub=$(whiptail --title "PUBBLICAZIONE" --checklist \
"Vuoi installare questi software per la Pubblicazione ?
Altrimenti clicca ANNULLA e passa a Yaourt " 15 70 7 \
"calibre" "ebook management" OFF \
"libreoffice-fresh" "strumento per ufficio" OFF \
"libreoffice-fresh-it" "pacchetto lingua italiana" OFF \
"leafpad" "il mio preferito" OFF \
"scribus" "crea PDF professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator sudo pacman -S  $pub
clear
echo
echo "premi un tasto per continuare"
read -n1

yart=$(whiptail --title "Pacchetti indispensabili da YAOURT" --checklist \
"Vuoi installare questi software da Yaourt?
Altrimenti clicca ANNULLA e passa alla finestra successiva " 15 70 7 \
"pamac-aur" "gestore dei pacchetti" OFF \
"mintstick" "scrive e formatta usb" OFF \
"ntfs" "file system" OFF \
"rakarrack" "simulatore di amplificatori per chitarra" OFF \
"dvdstyler" "crea DVD professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator yaourt -S  $yart
clear
echo
echo "premi un tasto per continuare"
read -n1

whiptail --title "Trigg Ringrazia" --msgbox "Grazie per aver usato il mio script Ok per finire." 10 60


else ###########################
    grafica=$(whiptail --title "GRAFICA" --checklist \
"Vuoi installare questi software per la grafica ?
Altrimenti clicca ANNULLA e passa ai Video " 15 70 7 \
"blender" "suite di creazione di contenuti 3D completa" OFF \
"inkscape" "editor di grafica vettoriale" OFF \
"gimp" "il mio preferito" OFF \
"mypaint" "strumento di pittura digitale" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator sudo pacman -S  $grafica
clear
echo
echo "premi un tasto per continuare"
read -n1
video=$(whiptail --title "VIDEO" --checklist \
"Vuoi installare questi software per video ?
Altrimenti clicca ANNULLA e passa a Fotografia " 15 70 7 \
"openshot" "editor di video per Linux" OFF \
"simplescreenrecorder" "screen recorder per Linux" OFF \
"ffmpeg" "framework multimediale" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator sudo pacman -S  $video
clear
echo
echo "premi un tasto per continuare"
read -n1

foto=$(whiptail --title "FOTOGRAFIA" --checklist \
"Vuoi installare questi software per Fotografie ?
Altrimenti clicca ANNULLA e passa a Pubblicazione " 15 70 7 \
"darktable" "lavoro fotografico e sviluppatore RAW" OFF \
"shotwell" " organizza la tua libreria di foto" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator sudo pacman -S  $foto
clear
echo
echo "premi un tasto per continuare"
read -n1

  pub=$(whiptail --title "PUBBLICAZIONE" --checklist \
"Vuoi installare questi software per la Pubblicazione ?
Altrimenti clicca ANNULLA e passa a Yaourt " 15 70 7 \
"calibre" "ebook management" OFF \
"libreoffice-fresh" "strumento per ufficio" OFF \
"libreoffice-fresh-it" "pacchetto lingua italiana" OFF \
"leafpad" "il mio preferito" OFF \
"scribus" "crea PDF professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator sudo pacman -S  $pub
clear
echo
echo "premi un tasto per continuare"
read -n1

yart=$(whiptail --title "Pacchetti indispensabili da YAOURT" --checklist \
"Vuoi installare questi software da Yaourt?
Altrimenti clicca ANNULLA e passa alla finestra successiva " 15 70 7 \
"pamac-aur" "gestore dei pacchetti" OFF \
"mintstick" "scrive e formatta usb" OFF \
"ntfs" "file system" OFF \
"rakarrack" "simulatore di amplificatori per chitarra" OFF \
"dvdstyler" "crea DVD professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator yaourt -S  $yart
clear
echo
echo "premi un tasto per continuare"
read -n1

whiptail --title "Trigg Ringrazia" --msgbox "Grazie per aver usato il mio script Ok per finire." 10 60


else ###################

    video=$(whiptail --title "VIDEO" --checklist \
"Vuoi installare questi software per video ?
Altrimenti clicca ANNULLA e passa a Fotografia " 15 70 7 \
"openshot" "editor di video per Linux" OFF \
"simplescreenrecorder" "screen recorder per Linux" OFF \
"ffmpeg" "framework multimediale" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator sudo pacman -S  $video
clear
echo
echo "premi un tasto per continuare"
read -n1

foto=$(whiptail --title "FOTOGRAFIA" --checklist \
"Vuoi installare questi software per Fotografie ?
Altrimenti clicca ANNULLA e passa a Pubblicazione " 15 70 7 \
"darktable" "lavoro fotografico e sviluppatore RAW" OFF \
"shotwell" " organizza la tua libreria di foto" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator sudo pacman -S  $foto
clear
echo
echo "premi un tasto per continuare"
read -n1

  pub=$(whiptail --title "PUBBLICAZIONE" --checklist \
"Vuoi installare questi software per la Pubblicazione ?
Altrimenti clicca ANNULLA e passa a Yaourt " 15 70 7 \
"calibre" "ebook management" OFF \
"libreoffice-fresh" "strumento per ufficio" OFF \
"libreoffice-fresh-it" "pacchetto lingua italiana" OFF \
"leafpad" "il mio preferito" OFF \
"scribus" "crea PDF professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator sudo pacman -S  $pub
clear
echo
echo "premi un tasto per continuare"
read -n1

yart=$(whiptail --title "Pacchetti indispensabili da YAOURT" --checklist \
"Vuoi installare questi software da Yaourt?
Altrimenti clicca ANNULLA e passa alla finestra successiva " 15 70 7 \
"pamac-aur" "gestore dei pacchetti" OFF \
"mintstick" "scrive e formatta usb" OFF \
"ntfs" "file system" OFF \
"rakarrack" "simulatore di amplificatori per chitarra" OFF \
"dvdstyler" "crea DVD professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator yaourt -S  $yart
clear
echo
echo "premi un tasto per continuare"
read -n1

whiptail --title "Trigg Ringrazia" --msgbox "Grazie per aver usato il mio script Ok per finire." 10 60

else ##################
    foto=$(whiptail --title "FOTOGRAFIA" --checklist \
"Vuoi installare questi software per Fotografie ?
Altrimenti clicca ANNULLA e passa a Pubblicazione " 15 70 7 \
"darktable" "lavoro fotografico e sviluppatore RAW" OFF \
"shotwell" " organizza la tua libreria di foto" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator sudo pacman -S  $foto
clear
echo
echo "premi un tasto per continuare"
read -n1
  pub=$(whiptail --title "PUBBLICAZIONE" --checklist \
"Vuoi installare questi software per la Pubblicazione ?
Altrimenti clicca ANNULLA e passa a Yaourt " 15 70 7 \
"calibre" "ebook management" OFF \
"libreoffice-fresh" "strumento per ufficio" OFF \
"libreoffice-fresh-it" "pacchetto lingua italiana" OFF \
"leafpad" "il mio preferito" OFF \
"scribus" "crea PDF professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator sudo pacman -S  $pub
clear
echo
echo "premi un tasto per continuare"
read -n1

yart=$(whiptail --title "Pacchetti indispensabili da YAOURT" --checklist \
"Vuoi installare questi software da Yaourt?
Altrimenti clicca ANNULLA e passa alla finestra successiva " 15 70 7 \
"pamac-aur" "gestore dei pacchetti" OFF \
"mintstick" "scrive e formatta usb" OFF \
"ntfs" "file system" OFF \
"rakarrack" "simulatore di amplificatori per chitarra" OFF \
"dvdstyler" "crea DVD professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator yaourt -S  $yart
clear
echo
echo "premi un tasto per continuare"
read -n1

whiptail --title "Trigg Ringrazia" --msgbox "Grazie per aver usato il mio script Ok per finire." 10 60



else #####################
    pub=$(whiptail --title "PUBBLICAZIONE" --checklist \
"Vuoi installare questi software per la Pubblicazione ?
Altrimenti clicca ANNULLA e passa a Yaourt " 15 70 7 \
"calibre" "ebook management" OFF \
"libreoffice-fresh" "strumento per ufficio" OFF \
"libreoffice-fresh-it" "pacchetto lingua italiana" OFF \
"leafpad" "il mio preferito" OFF \
"scribus" "crea PDF professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator sudo pacman -S  $pub
clear
echo
echo "premi un tasto per continuare"
read -n1

yart=$(whiptail --title "Pacchetti indispensabili da YAOURT" --checklist \
"Vuoi installare questi software da Yaourt?
Altrimenti clicca ANNULLA e passa alla finestra successiva " 15 70 7 \
"pamac-aur" "gestore dei pacchetti" OFF \
"mintstick" "scrive e formatta usb" OFF \
"ntfs" "file system" OFF \
"rakarrack" "simulatore di amplificatori per chitarra" OFF \
"dvdstyler" "crea DVD professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator yaourt -S  $yart
clear
echo
echo "premi un tasto per continuare"
read -n1

whiptail --title "Trigg Ringrazia" --msgbox "Grazie per aver usato il mio script Ok per finire." 10 60


else ########################
    yart=$(whiptail --title "Pacchetti indispensabili da YAOURT" --checklist \
"Vuoi installare questi software da Yaourt?
Altrimenti clicca ANNULLA e passa alla finestra successiva " 15 70 7 \
"pamac-aur" "gestore dei pacchetti" OFF \
"mintstick" "scrive e formatta usb" OFF \
"ntfs" "file system" OFF \
"rakarrack" "simulatore di amplificatori per chitarra" OFF \
"dvdstyler" "crea DVD professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exo-open --launch TerminalEmulator yaourt -S  $yart
clear
echo
echo "premi un tasto per continuare"
read -n1

else ##########################
whiptail --title "Trigg Ringrazia" --msgbox "Grazie per aver usato il mio script Ok per finire." 10 60
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi

exit


Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Martedì 05 Giugno 2018, 22:31:14
Ciao trigg,

se usi  la formula "exo-open..." leghi indissolubilmente lo script alla presenza di Xfce

(http://i.imgur.com/CAMZppT.png)

Quindi chi non ha Xfce non può usare il tuo script.


Io ultimamente ho scoperto le meraviglie di XTerm (onnipresente su Linux): https://www.x.org/archive/X11R6.7.0/doc/xterm.1.html

Quello qui sotto è il tuo script, ma ho sotituito tutte le stringhe con "exo ..." con "xterm -e".

#!/bin/bash
whiptail --title "Benvenuti" --msgbox "Benvenuti nello script d'installazione di Yaourt per Arch-Linux e derivate. Clicca Ok per continuare." 10 60

if (whiptail --title "Hai installato le dipendenze di Yaourt?" --yesno "Scegli SI se hai le dipendenze  No per installarle." 10 60) then
    whiptail --title "Installazione di package-query" --msgbox "Permetterà a yaourt di lavorare correttamente Clicca Ok per continuare." 10 60
else
echo
echo "stai per lanciare sudo pacman -S --needed base-devel git wget yajl

alla domanda Digita una selezione (default=tutto): premi INVIO"
echo
echo "premi un tasto per continuare"
read -n1
    sudo pacman -S --needed base-devel git wget yajl
fi
{
    for ((i = 0 ; i <= 100 ; i+=20)); do
        sleep 1
        echo $i
    done
} | whiptail --gauge "Attendere il Processo" 6 60 0


echo "download pacchetto"
git clone https://aur.archlinux.org/package-query.git
clear
echo "stai per spostarti nella cartella scaricata con cd package-query/"
echo
echo "premi un tasto per continuare"
read -n1

cd package-query/

echo "stai per installare package-query con  makepkg -si"
echo
echo "premi un tasto per continuare"
read -n1
makepkg -si

{
    for ((i = 0 ; i <= 100 ; i+=20)); do
        sleep 1
        echo $i
    done
} | whiptail --gauge "Attendere il Processo" 6 60 0

cd ..

echo "download pacchetto"
git clone https://aur.archlinux.org/yaourt.git
clear

echo "stai per spostarti nella cartella scaricata con cd yaourt/"
echo
echo "premi un tasto per continuare"
read -n1

cd yaourt/

echo "stai per installare yaourt con  makepkg -si"
echo
echo "premi un tasto per continuare"
read -n1
makepkg -si
clear
echo "stai per per rimuovere yaourt e package-query scaricati e creati"
echo
echo "premi un tasto per continuare"
read -n1
cd ..
sudo rm -dR yaourt/ package-query/

echo "stai per aggiornare il sistema"
echo
echo "premi un tasto per continuare"
read -n1
sudo pacman -Sy && sudo pacman -Syu

clear

#!/bin/bash
audio=$(whiptail --title "AUDIO" --checklist \
"Vuoi installare questi software audio ?
Altrimenti clicca ANNULLA e passa alla Grafica " 15 70 7 \
"jack" "server audio e midi con bassa latenza" OFF \
"ardour" "workstation audio digitale" OFF \
"audacity" "audio Wave Editor" OFF \
"qtractor" "DAW midi" OFF \
"hydrogen" "sequenziatore di batteria" OFF \
"yoshimi" "sintetizzatore" OFF \
"guitarix2" "simulatori di amplificatori per chitarra" OFF 3>&1 1>&2 2>&3 )

exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e sudo pacman -S  $audio
clear
echo
echo "premi un tasto per continuare"
read -n1
   grafica=$(whiptail --title "GRAFICA" --checklist \
"Vuoi installare questi software per la grafica ?
Altrimenti clicca ANNULLA e passa ai Video " 15 70 7 \
"blender" "suite di creazione di contenuti 3D completa" OFF \
"inkscape" "editor di grafica vettoriale" OFF \
"gimp" "il mio preferito" OFF \
"mypaint" "strumento di pittura digitale" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e sudo pacman -S  $grafica
clear
echo
echo "premi un tasto per continuare"
read -n1

video=$(whiptail --title "VIDEO" --checklist \
"Vuoi installare questi software per video ?
Altrimenti clicca ANNULLA e passa a Fotografia " 15 70 7 \
"openshot" "editor di video per Linux" OFF \
"simplescreenrecorder" "screen recorder per Linux" OFF \
"ffmpeg" "framework multimediale" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e sudo pacman -S  $video
clear
echo
echo "premi un tasto per continuare"
read -n1

foto=$(whiptail --title "FOTOGRAFIA" --checklist \
"Vuoi installare questi software per Fotografie ?
Altrimenti clicca ANNULLA e passa a Pubblicazione " 15 70 7 \
"darktable" "lavoro fotografico e sviluppatore RAW" OFF \
"shotwell" " organizza la tua libreria di foto" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e sudo pacman -S  $foto
clear
echo
echo "premi un tasto per continuare"
read -n1

  pub=$(whiptail --title "PUBBLICAZIONE" --checklist \
"Vuoi installare questi software per la Pubblicazione ?
Altrimenti clicca ANNULLA e passa a Yaourt " 15 70 7 \
"calibre" "ebook management" OFF \
"libreoffice-fresh" "strumento per ufficio" OFF \
"libreoffice-fresh-it" "pacchetto lingua italiana" OFF \
"leafpad" "il mio preferito" OFF \
"scribus" "crea PDF professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e sudo pacman -S  $pub
clear
echo
echo "premi un tasto per continuare"
read -n1

yart=$(whiptail --title "Pacchetti indispensabili da YAOURT" --checklist \
"Vuoi installare questi software da Yaourt?
Altrimenti clicca ANNULLA e passa alla finestra successiva " 15 70 7 \
"pamac-aur" "gestore dei pacchetti" OFF \
"mintstick" "scrive e formatta usb" OFF \
"ntfs" "file system" OFF \
"rakarrack" "simulatore di amplificatori per chitarra" OFF \
"dvdstyler" "crea DVD professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   exterm -e yaourt -S  $yart
clear
echo
echo "premi un tasto per continuare"
read -n1

whiptail --title "Trigg Ringrazia" --msgbox "Grazie per aver usato il mio script Ok per finire." 10 60


else ###########################
    grafica=$(whiptail --title "GRAFICA" --checklist \
"Vuoi installare questi software per la grafica ?
Altrimenti clicca ANNULLA e passa ai Video " 15 70 7 \
"blender" "suite di creazione di contenuti 3D completa" OFF \
"inkscape" "editor di grafica vettoriale" OFF \
"gimp" "il mio preferito" OFF \
"mypaint" "strumento di pittura digitale" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e sudo pacman -S  $grafica
clear
echo
echo "premi un tasto per continuare"
read -n1
video=$(whiptail --title "VIDEO" --checklist \
"Vuoi installare questi software per video ?
Altrimenti clicca ANNULLA e passa a Fotografia " 15 70 7 \
"openshot" "editor di video per Linux" OFF \
"simplescreenrecorder" "screen recorder per Linux" OFF \
"ffmpeg" "framework multimediale" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e sudo pacman -S  $video
clear
echo
echo "premi un tasto per continuare"
read -n1

foto=$(whiptail --title "FOTOGRAFIA" --checklist \
"Vuoi installare questi software per Fotografie ?
Altrimenti clicca ANNULLA e passa a Pubblicazione " 15 70 7 \
"darktable" "lavoro fotografico e sviluppatore RAW" OFF \
"shotwell" " organizza la tua libreria di foto" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e sudo pacman -S  $foto
clear
echo
echo "premi un tasto per continuare"
read -n1

  pub=$(whiptail --title "PUBBLICAZIONE" --checklist \
"Vuoi installare questi software per la Pubblicazione ?
Altrimenti clicca ANNULLA e passa a Yaourt " 15 70 7 \
"calibre" "ebook management" OFF \
"libreoffice-fresh" "strumento per ufficio" OFF \
"libreoffice-fresh-it" "pacchetto lingua italiana" OFF \
"leafpad" "il mio preferito" OFF \
"scribus" "crea PDF professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e sudo pacman -S  $pub
clear
echo
echo "premi un tasto per continuare"
read -n1

yart=$(whiptail --title "Pacchetti indispensabili da YAOURT" --checklist \
"Vuoi installare questi software da Yaourt?
Altrimenti clicca ANNULLA e passa alla finestra successiva " 15 70 7 \
"pamac-aur" "gestore dei pacchetti" OFF \
"mintstick" "scrive e formatta usb" OFF \
"ntfs" "file system" OFF \
"rakarrack" "simulatore di amplificatori per chitarra" OFF \
"dvdstyler" "crea DVD professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e yaourt -S  $yart
clear
echo
echo "premi un tasto per continuare"
read -n1

whiptail --title "Trigg Ringrazia" --msgbox "Grazie per aver usato il mio script Ok per finire." 10 60


else ###################

    video=$(whiptail --title "VIDEO" --checklist \
"Vuoi installare questi software per video ?
Altrimenti clicca ANNULLA e passa a Fotografia " 15 70 7 \
"openshot" "editor di video per Linux" OFF \
"simplescreenrecorder" "screen recorder per Linux" OFF \
"ffmpeg" "framework multimediale" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e sudo pacman -S  $video
clear
echo
echo "premi un tasto per continuare"
read -n1

foto=$(whiptail --title "FOTOGRAFIA" --checklist \
"Vuoi installare questi software per Fotografie ?
Altrimenti clicca ANNULLA e passa a Pubblicazione " 15 70 7 \
"darktable" "lavoro fotografico e sviluppatore RAW" OFF \
"shotwell" " organizza la tua libreria di foto" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e sudo pacman -S  $foto
clear
echo
echo "premi un tasto per continuare"
read -n1

  pub=$(whiptail --title "PUBBLICAZIONE" --checklist \
"Vuoi installare questi software per la Pubblicazione ?
Altrimenti clicca ANNULLA e passa a Yaourt " 15 70 7 \
"calibre" "ebook management" OFF \
"libreoffice-fresh" "strumento per ufficio" OFF \
"libreoffice-fresh-it" "pacchetto lingua italiana" OFF \
"leafpad" "il mio preferito" OFF \
"scribus" "crea PDF professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e sudo pacman -S  $pub
clear
echo
echo "premi un tasto per continuare"
read -n1

yart=$(whiptail --title "Pacchetti indispensabili da YAOURT" --checklist \
"Vuoi installare questi software da Yaourt?
Altrimenti clicca ANNULLA e passa alla finestra successiva " 15 70 7 \
"pamac-aur" "gestore dei pacchetti" OFF \
"mintstick" "scrive e formatta usb" OFF \
"ntfs" "file system" OFF \
"rakarrack" "simulatore di amplificatori per chitarra" OFF \
"dvdstyler" "crea DVD professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e yaourt -S  $yart
clear
echo
echo "premi un tasto per continuare"
read -n1

whiptail --title "Trigg Ringrazia" --msgbox "Grazie per aver usato il mio script Ok per finire." 10 60

else ##################
    foto=$(whiptail --title "FOTOGRAFIA" --checklist \
"Vuoi installare questi software per Fotografie ?
Altrimenti clicca ANNULLA e passa a Pubblicazione " 15 70 7 \
"darktable" "lavoro fotografico e sviluppatore RAW" OFF \
"shotwell" " organizza la tua libreria di foto" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e sudo pacman -S  $foto
clear
echo
echo "premi un tasto per continuare"
read -n1
  pub=$(whiptail --title "PUBBLICAZIONE" --checklist \
"Vuoi installare questi software per la Pubblicazione ?
Altrimenti clicca ANNULLA e passa a Yaourt " 15 70 7 \
"calibre" "ebook management" OFF \
"libreoffice-fresh" "strumento per ufficio" OFF \
"libreoffice-fresh-it" "pacchetto lingua italiana" OFF \
"leafpad" "il mio preferito" OFF \
"scribus" "crea PDF professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e sudo pacman -S  $pub
clear
echo
echo "premi un tasto per continuare"
read -n1

yart=$(whiptail --title "Pacchetti indispensabili da YAOURT" --checklist \
"Vuoi installare questi software da Yaourt?
Altrimenti clicca ANNULLA e passa alla finestra successiva " 15 70 7 \
"pamac-aur" "gestore dei pacchetti" OFF \
"mintstick" "scrive e formatta usb" OFF \
"ntfs" "file system" OFF \
"rakarrack" "simulatore di amplificatori per chitarra" OFF \
"dvdstyler" "crea DVD professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e yaourt -S  $yart
clear
echo
echo "premi un tasto per continuare"
read -n1

whiptail --title "Trigg Ringrazia" --msgbox "Grazie per aver usato il mio script Ok per finire." 10 60



else #####################
    pub=$(whiptail --title "PUBBLICAZIONE" --checklist \
"Vuoi installare questi software per la Pubblicazione ?
Altrimenti clicca ANNULLA e passa a Yaourt " 15 70 7 \
"calibre" "ebook management" OFF \
"libreoffice-fresh" "strumento per ufficio" OFF \
"libreoffice-fresh-it" "pacchetto lingua italiana" OFF \
"leafpad" "il mio preferito" OFF \
"scribus" "crea PDF professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e sudo pacman -S  $pub
clear
echo
echo "premi un tasto per continuare"
read -n1

yart=$(whiptail --title "Pacchetti indispensabili da YAOURT" --checklist \
"Vuoi installare questi software da Yaourt?
Altrimenti clicca ANNULLA e passa alla finestra successiva " 15 70 7 \
"pamac-aur" "gestore dei pacchetti" OFF \
"mintstick" "scrive e formatta usb" OFF \
"ntfs" "file system" OFF \
"rakarrack" "simulatore di amplificatori per chitarra" OFF \
"dvdstyler" "crea DVD professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e yaourt -S  $yart
clear
echo
echo "premi un tasto per continuare"
read -n1

whiptail --title "Trigg Ringrazia" --msgbox "Grazie per aver usato il mio script Ok per finire." 10 60


else ########################
    yart=$(whiptail --title "Pacchetti indispensabili da YAOURT" --checklist \
"Vuoi installare questi software da Yaourt?
Altrimenti clicca ANNULLA e passa alla finestra successiva " 15 70 7 \
"pamac-aur" "gestore dei pacchetti" OFF \
"mintstick" "scrive e formatta usb" OFF \
"ntfs" "file system" OFF \
"rakarrack" "simulatore di amplificatori per chitarra" OFF \
"dvdstyler" "crea DVD professionali" OFF 3>&1 1>&2 2>&3 )
exitstatus=$?
if [ $exitstatus = 0 ]; then
   xterm -e yaourt -S  $yart
clear
echo
echo "premi un tasto per continuare"
read -n1

else ##########################
whiptail --title "Trigg Ringrazia" --msgbox "Grazie per aver usato il mio script Ok per finire." 10 60
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi

exit


Quello che si può fare con xterm è veramente tanta roba,
Solo come esempio, guarda la stringa che utilizzo per lanciare "Slurp!":

xterm -geometry 80x28+30+200 -sb -rightbar -font -*-fixed-medium-r-*-*-20-*-*-*-*-*-iso8859-* -bg darkgrey -T Slurp! -hold -e bash /opt/Slurp/script/slurp-0.0.5.sh

Qui sono impostati: dimensione della finestra, barra di scorrimento (a destra), dimensione del font, colore di sfondo,ttitolo della finestra, mantieni la finestra aperta (-hold) e in ultimo execute (-e). ...Uno spettacolo! ;)
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Martedì 05 Giugno 2018, 22:41:23
si lo so nick

per cambiare lo script basta aprire l'editor di testo e fare

cerca e sostituisci

cerca - expo etc etc
sostituisci con
"il comando del terminale"

con xterm provai qualche giorno fa  , mi dava l'output che funziona solo da usr/bin
invece sono solito mettere gli script in /usr/local/bin

per evitare intoppi e sono tanti :(  mentre scrivo preferisco usare il comadno di xfce , se qualcuno vuole usare konsole o gnome deve solo fare rova e sostituisci con l'editor di testo
;D
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Martedì 05 Giugno 2018, 22:54:45
Citazione di: trigg il Martedì 05 Giugno 2018, 22:41:23
...per cambiare lo script basta aprire l'editor di testo e fare

cerca e sostituisci

cerca - expo etc etc
sostituisci con
"il comando del terminale"...

Si, non l'avevo fatto a mano... :uhuh:   :grin:

Va bene, ma a meno che non li fai solo per te stesso è meglio specificarle queste cose: non dare per scontato che tutti si accorgano del perchè a loro lo script non funziona, e neanche che sappiano come aggiustarlo.

In ultimo, non è una legge divina che gli script debbano stare  in /usr/local/bin, io lo tengo in /opt e xterm funziona perfettamente, come tutto lo script... Ma, script tuo...   ;D

P.S.

Esistono anche i link, lo metti dove vuoi e crei il link in /usr/bin (solitamente tutti i programmi che vanno in /opt lo fanno, tranne Slurp che ha il suo lanciatore... ;D)
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Mercoledì 06 Giugno 2018, 11:26:14
questa è la versione definitiva di TSF  terminal-software-manager
a differenza del primo dove se si sbagliava a digiatare usciva

questa versione oltre a non richiamare .sh perchè è in loop
quando si sbaglia a digitare non esce

[embed=425,349]<iframe width="560" height="315" src="https://www.youtube.com/embed/QNdMma60RfE" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>[/embed]

#!/bin/bash

# ----------------------------------

RED='\033[0;41;30m'
STD='\033[0;0;39m'

# ----------------------------------

pause(){
echo " ___  ___   ___  __  __  __    _  _  _  _    ____  __   ___  ____  __  ";
echo "(  ,\(  ,) (  _)(  \/  )(  )  ( )( )( \( )  (_  _)(  ) / __)(_  _)/  \ ";
echo " ) _/ )  \  ) _) )    (  )(    )()(  )  (     )(  /__\ \__ \  )( ( () )";
echo "(_)  (_)\_)(___)(_/\/\_)(__)   \__/ (_)\_)   (__)(_)(_)(___/ (__) \__/ ";
echo " ___  ___  ___      __  __  _  _  ____  __  _  _  _  _  __   ___   ___ ";
echo "(  ,\(  _)(  ,)    / _)/  \( \( )(_  _)(  )( \( )( )( )(  ) (  ,) (  _)";
echo " ) _/ ) _) )  \   ( (_( () ))  (   )(   )(  )  (  )()( /__\  )  \  ) _)";
echo "(_)  (___)(_)\_)   \__)\__/(_)\_) (__) (__)(_)\_) \__/(_)(_)(_)\_)(___)";
  read -n1
}

cerca(){
clear

echo "Quale Pacchetto desideri cercare?"
read pacchetto
pacman -Ss $pacchetto

        pause
}


installa(){
clear
echo "Quale Pacchetto desideri installare?"               
            read inst
sudo pacman -S $inst
        pause
}

rimuovi(){
clear
echo "Quale Pacchetto desideri rimuovere?"               
            read rev
sudo pacman -R $rev
        pause
}

rimuovidp(){
clear
echo "Quali Pacchetti desideri rimuovere?"               
            read re
sudo pacman -Rs $re
        pause
}

aggsys(){
clear
echo "stai lanciando sudo pacman -Sy && sudo pacman -Syu"               
            sudo pacman -Sy && sudo pacman -Syu
        pause
}

key(){
clear
echo "stai lanciando sudo pacman -S archlinux-keyring && sudo pacman -Syu"               
            sudo pacman -S archlinux-keyring && sudo pacman -Syu
        pause
}

cery(){
clear
echo "Quale Pacchetto desideri cercare?"
read pacc
yaourt -Ss $pacc
        pause
}
instally(){
clear
echo "Quale Pacchetto desideri installare?"               
            read ins
yaourt -S $ins
        pause
}

quit(){
clear
echo "Grazie"
sleep 1
echo " per"
sleep 1
echo " aver"
sleep 1
echo " usato"
sleep 1
echo " il mio Script"
sleep 1
echo " by Trigg"   
           
            sleep 2
clear
exit 0
        pause
}


show_menus() {
clear
echo "???????????????????????????????????????????????????????????????????????????"
echo "?      ??????????????????????????????????????????????????????????????     ?"
echo "?      ?                                                            ?     ?"
echo "?      ?              Scegli l'operazione da eseguire:              ?     ?"
echo "?      ?                                                            ?     ?"
echo "?      ???????????PACMAN??????????        ??????????YAOURT???????????     ?"
echo "?      ??[1] Cerca App           ?        ?[7] Cerca in Yaourt     ??     ?"
echo "?      ??[2] Installa App        ?        ?[8] Installa con Yaourt ??     ?"
echo "?      ??[3] Rimuovi App         ?        ?                        ??     ?"
echo "?      ??[4] Rimuovi App e Dip.  ?        ?                        ??     ?"
echo "?      ??[5] Aggiorna Sitema     ?        ?                        ??     ?"
echo "?      ??[6] Aggiorna Key        ?        ?               [0] Esci ??     ?"
echo "?      ???????????????????????????        ???????????????????????????     ?"
echo "?      ??????????????????????????????????????????????????????????????     ?"
echo "?                                                                         ?"; 
echo "?                           *   )                                         ?";
echo "?                         \` )  /( (   (   (  (  (  (                      ?";
echo "?                          ( )(_)))(  )\  )\))( )\))(                     ? ";
echo "?                         (_(_())(()\((_)((_))\((_))\                     ? ";
echo "?                         |_   _| ((_)(_) (()(_)(()(_)                    ? ";
echo "?                           | |  | '_|| |/ _\` |/ _\` |                     ?";
echo "?                           |_|  |_|  |_|\__, |\__, |                     ?";
echo "?                                        |___/ |___/                      ?";
echo "???????????????????????????????????????????????????????????????????????????"
}

read_options(){
local choice
read -p "Scegli la tua operazione[ 0 - 8] " scegli
case $scegli in
1) cerca  ;;
2) installa ;;
3) rimuovi ;;
4) rimuovidp ;;
5) aggsys ;;
6) key ;;
7) cery ;;
8) instally ;;
0) quit;;
*) echo -e "${RED}Error...${STD}" && sleep 2
esac
}

# ----------------------------------------------

trap '' SIGINT SIGQUIT SIGTSTP

# -----------------------------------

while true
do

show_menus
read_options
done
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Giovedì 07 Giugno 2018, 14:00:45
https://drive.google.com/file/d/1mrJBKAw_KwyHqVjGd8zQz-4ugAuxcN3I/view?usp=sharing (https://drive.google.com/file/d/1mrJBKAw_KwyHqVjGd8zQz-4ugAuxcN3I/view?usp=sharing)


#!/bin/bash

#EDITOR=vim
#PASSWD=/etc/passwd
RED='\033[0;41;30m'
STD='\033[0;0;39m'
GREEN='\033[1;32;3m'

# ----------------------------------

pause(){
echo " ___  ___   ___  __  __  __    _  _  _  _    ____  __   ___  ____  __  ";
echo "(  ,\(  ,) (  _)(  \/  )(  )  ( )( )( \( )  (_  _)(  ) / __)(_  _)/  \ ";
echo " ) _/ )  \  ) _) )    (  )(    )()(  )  (     )(  /__\ \__ \  )( ( () )";
echo "(_)  (_)\_)(___)(_/\/\_)(__)   \__/ (_)\_)   (__)(_)(_)(___/ (__) \__/ ";
echo " ___  ___  ___      __  __  _  _  ____  __  _  _  _  _  __   ___   ___ ";
echo "(  ,\(  _)(  ,)    / _)/  \( \( )(_  _)(  )( \( )( )( )(  ) (  ,) (  _)";
echo " ) _/ ) _) )  \   ( (_( () ))  (   )(   )(  )  (  )()( /__\  )  \  ) _)";
echo "(_)  (___)(_)\_)   \__)\__/(_)\_) (__) (__)(_)\_) \__/(_)(_)(_)\_)(___)";
  read -n1
}

cerca(){
clear
echo "Quale Pacchetto desideri cercare ?"
read pacchetto
apt-cache search  $pacchetto
        pause
}


installa(){
clear
echo "Quale Pacchetto desideri installare  ?"               
            read inst

sudo apt-get install $inst
   
        pause
}

rimuovi(){
clear
echo "Quale Pacchetto desideri rimuovere  ?"               
            read rev
sudo apt-get remove $rev
        pause
}

purge(){
clear
echo "Quali Pacchetti desideri rimuovere  ?"               
            read re
sudo apt-get purge  $re
        pause
}

aggsys(){
clear
echo "stai lanciando sudo apt-get update && sudo apt-get upgrade -y"               
            sudo apt-get update && sudo apt-get upgrade -y
        pause
}

apt(){
clear
echo "Pulizia della cache di apt eseguita"               
            sudo apt-get clean
        pause
}

obs(){
clear
echo "Pulizia di programmi-dipendenze non più necessarie completata"
if [ -n "$LIB" ]
then
echo "Programmi installati come dipendenze non più necessarie"
echo $LIB
sudo apt-get autoremove -y
echo "Eliminati!"
sleep 2
else
echo "Non ci sono programmi installati come dipendenze da rimuovere!"
sleep 2
fi
if [ "$ALL" == "Y" ]
then
return
fi
        pause
}
mini(){
clear
echo "Pulizia della cache delle miniature terminata"

rm -fr $HOME/.cache/thumbnails/fails/*
rm -fr $HOME/.cache/thumbnails/large/*
rm -fr $HOME/.cache/thumbnails/normal/*

        pause
}

firefox(){
clear
which firefox &> /dev/null # Controllo la presenza di Firefox
if [ "$?" == "0" ]
then
DIR="$HOME/.cache/mozilla/firefox/"
echo -e "* Pulizia della cache di Firefox *"
if [ -d "$DIR" ]
then
    for I in $(ls $DIR)
    do
    spazio_firefox=$(du -sh $DIR/$I/ | cut -d "/" -f1)
    PROFILO=$(echo "$I" | cut -d "." -f2)
echo "La cache del profilo \"$PROFILO\" è di $spazio_firefox"
echo -e "Cancellare?\n(premi s per sì o un altro tasto per no)"
read -s -n1
if [ "$REPLY" == "s" -o "$REPLY" == "S" ]
then
echo -e "Attendere, sto cancellando."
sleep 1
rm -fr $DIR/$I/*
echo -e 'Fatto!'
sleep 2
else
echo
fi
    done
echo -e "* Pulizia della cache di Firefox *"
echo -e "La cache di Firefox è vuota!"
fi
else
echo -e "* Pulizia della cache di Firefox *"
echo -e "Firefox non risulta installato!"
sleep 2
fi
if [ "$ALL" == "Y" ]
then
return
fi

        pause
}

chromium(){
clear
which chromium-browser &> /dev/null
if [[ "$?" == "0" ]]
    then
spazio_chrome=$(du -sh $HOME/.cache/chromium/Default/Cache/ | cut -d "/" -f1)
echo -e "* Pulizia della cache di Chromium *"
if [ -n "$spazio_chrome"  ]
    then
echo "La cache è di $spazio_chrome"
echo -e "Attendere, sto cancellando."
sleep 1
rm -fr $HOME/.cache/chromium/Default/Cache/*
echo 'Fatto'
sleep 2
else
echo "La cache di Chromium è vuota!"
sleep 2
fi
else
echo -e "* Pulizia della cache di Chromium *"
echo -e "Chromium non risulta installato!"
sleep 2
fi
if [ "$ALL" == "Y" ]
    then
    return
fi
        pause
}

kernel(){
clear
echo -e "* Pulizia dei vecchi kernel *"
ls /boot/ | grep vmlinuz | sed 's@vmlinuz-@linux-image-@g' | sort -Vr | sed -e '1,2d' > /tmp/kernelList
kernelList=$(ls /boot/ | grep vmlinuz | sed 's@vmlinuz-@linux-image-@g' | sort -Vr | sed -e '1,2d')

if [ "$kernelList" != "" ]
    then
    echo 'Saranno rimossi questi kernel (compreso i loro header):'
    cat /tmp/kernelList
    echo 'Kernel attuale in uso:'
    uname -r
        for l in $(cat /tmp/kernelList)
        do
              sudo apt-get remove --purge  -y  $l
        done
    #questo rimuove i header:
    ls /usr/src |grep headers | sort -Vr |sed -e '1,4d' > /tmp/headerList
 
    for l in $(cat /tmp/headerList)
    do
        sudo apt-get remove --purge  -y  $l
    done

    sudo rm -f /tmp/headerlist
    sudo rm -f /tmp/kernelList
    sudo update-grub
    echo 'Sono rimasti installati questi due kernel:'
    ls /boot/ | grep vmlinuz | sed 's@vmlinuz-@linux-image-@g'
    echo 'Headers installati:'
    ls /usr/src |grep headers
else
    echo "Non ci sono kernel da rimuovere!"
fi

sleep 2
if [ "$ALL" == "Y" ]
then
return
fi
        pause
}

configurazioni(){
clear
LIB=$(dpkg -l | egrep "^rc" | cut -d ' ' -f3)
echo -e "* Pulizia configurazioni inutilizzate *"
if [ -n "$LIB" ]
then
echo 'Le eventuali configurazioni inutilizzate sono:'
echo $LIB
echo -e "Cancellare?\n(premi s per sì o un altro tasto per no)"
read -sn 1
if [ "$REPLY" = "s" -o  "$REPLY" = "S" ]
then
sudo dpkg --purge $(dpkg -l | egrep "^rc" | cut -d ' ' -f3)
echo "Cancellate!"
fi
else
echo "Non ci sono configurazioni inutilizzate da rimuovere!"
sleep 2
fi
        pause
}

completa(){
LIB=$(dpkg -l | egrep "^rc" | cut -d ' ' -f3)
echo -e "* Pulizia configurazioni inutilizzate *"
if [ -n "$LIB" ]
then
echo 'Le eventuali configurazioni inutilizzate sono:'
echo $LIB
echo -e "Cancellare?\n(premi s per sì o un altro tasto per no)"
read -sn 1
if [ "$REPLY" = "s" -o  "$REPLY" = "S" ]
then
sudo dpkg --purge $(dpkg -l | egrep "^rc" | cut -d ' ' -f3)
echo "Cancellate!"
fi
else
echo "Non ci sono configurazioni inutilizzate da rimuovere!"
sleep 2
fi
        pause
}

show_menus() {
clear
echo -e "${GREEN} ????????????????????????????????????????????????????????????????????????????? "
echo -e "${GREEN} ??????????????LINUX_MINT????????????   MMMMMMMMMMMMMMMMMMMMMMMMMmds+.       ? "
echo -e "${GREEN} ?  [1] Cerca App                   ?   MMm----::-://////////////oymNMd+     ? "
echo -e "${GREEN} ?  [2] Installa App                ?   MMd      /++                -sNMd:   ? "
echo -e "${GREEN} ?  [3] Rimuovi App                 ?   MMNso/'  dMM    '.::-. .-::.' .hMN:  ? "
echo -e "${GREEN} ?  [4] Purge                       ?   ddddMMh  dMM   :hNMNMNhNMNMNh: 'NMm  ? "
echo -e "${GREEN} ?  [5] Aggiorna Sitema             ?       NMm  dMM  .NMN/-+MMM+-/NMN' dMM  ? "
echo -e "${GREEN} ?  [6] Pulizia di Apt              ?       NMm  dMM  -MMm  'MMM   dMM. dMM  ? "
echo -e "${GREEN} ?  [7] Elimina Dip. obsolete       ?       NMm  dMM  -MMm  'MMM   dMM. dMM  ? "
echo -e "${GREEN} ?  [8] Pulizia cache min.Sys.      ?       NMm  dMM  .mmd  'mmm   yMM. dMM  ? "
echo -e "${GREEN} ?  [9] Pulizia cache Firefox       ?       NMm  dMM'  ..'   ...   ydm. dMM  ? "
echo -e "${GREEN} ? [10] Pulizia cache Chromium      ?       hMM- +MMd/-------...-:sdds  dMM  ? "
echo -e "${GREEN} ? [11] Elimina Kernel              ?       -NMm- :hNMNNNmdddddddddy/'  dMM  ? "
echo -e "${GREEN} ? [12] Configurazioni inutilizzate ?        -dMNs-''-::::-------.''    dMM  ? "
echo -e "${GREEN} ? [13] Pulizia Completa            ?         '/dMNmy+/:-------------:/yMMM  ? "
echo -e "${GREEN} ?  [0] Esci                        ?            ./ydNMMMMMMMMMMMMMMMMMMMMM  ? "
echo -e "${GREEN} ?     *   )                        ?               \.MMMMMMMMMMMMMMMMMMM    ? "
echo -e "${GREEN} ?    \' )  /( (   (   (  (  (                                               ? "
echo -e "${GREEN} ?    ( )(_)))(  )\  )\))( )\))(                                             ? "
echo -e "${GREEN} ?   (_(_())(()\((_)((_))\((_))\                                             ? "
echo -e "${GREEN} ?   |_   _| ((_)(_) (()(_)(()(_)                                            ? "
echo -e "${GREEN} ?     | |  | '_|| |/ _\'|/ _\'|                                             ? "
echo -e "${GREEN} ?     |_|  |_|  |_|\__, |\__, |                                             ? "
echo -e "${GREEN} ?                   |___/ |___/                                             ? "
echo -e "${GREEN} ????????????????????????????????????????????????????????????????????????????? "
}

read_options(){
local choice
read -p "Seleziona la tua operazione [ 0 - 13] " choice
case $choice in
1) cerca  ;;
2) installa ;;
3) rimuovi ;;
4) purge ;;
5) aggsys ;;
6) apt ;;
7) obs ;;
8) mini ;;
9) firefox ;;
10) chromium ;;
11) kernel ;;
12) configurazioni ;;
13) ALL=Y ; apt ; echo ; obs ; echo ; mini ; echo ; firefox ; echo ; chromium ; echo ; kernel ; echo ; configurazioni ;;
0) exit 0;;
*) echo -e "${RED}Error...${STD}" && sleep 2 ;;
esac
}

# ----------------------------------------------
-
trap '' SIGINT SIGQUIT SIGTSTP

# -----------------------------------

while true
do

show_menus
read_options
done


(http://i.imgur.com/yzS9T5f.png)
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Venerdì 08 Giugno 2018, 11:26:28
...Senti un po'.  :)

A me servirebbe un modo per non dovere usare più gksu per lanciare lo script (...parlo di Slurp!) e per fare in modo che, anche se lanciato senza privilegi, lo script verifichi prima la condizione e nel caso chieda di salire con su.

Non sudo, o un'altra cosa, ma proprio su.

Tu pensi che si possa fare?
Hai qualcosa di pronto sottomano?

Grazie, ciao.  :ciao:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Venerdì 08 Giugno 2018, 15:14:33
ho trovato questo

su - root -c 'slackpkg update'

https://superuser.com/questions/458910/supply-su-password-in-a-bash-script-within-the-script (https://superuser.com/questions/458910/supply-su-password-in-a-bash-script-within-the-script)

ma vedi tu , di lanciare il comando lo lancia , il fatto sta che bha sembra essere una forzatura

meglio documentarsi meglio , non sempre tutto quello che  sembra funzionare funzioni come dovrebbe
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Venerdì 08 Giugno 2018, 20:03:02
Ok, facciamo finta per un attimo che quello che hai riportato funziona,

resta da verificare se esiste o non esiste la condizione per lanciare il comando.

Se l'utente è già root non c'è motivo di passare il comando.

Io con gli script sto a zero ma avevo immaginato una risposta che iniziava con if e con un test, tipo

if [ $USER = root ] ;  then (lancia lo script)                       # facile che ho scritto una cazzata  ;D

Altrimenti, ecc. ...

Pazienza,  per ora grazie per il tuo interessamento.

Mi cercherò uno script esistente in cui e stata affrontata la situazione, se esiste, e cercherò di capire come prenderne spunto.

:ciao:

EDIT:

un esempio di quello che dicevo sopra:

#! /bin/bash
if [ "$USER" = "root" ]; then
xterm -geometry 80x28+30+200 -sb -rightbar -font -*-fixed-medium-r-*-*-20-*-*-*-*-*-iso8859-* -bg darkgrey -T Slurp! -hold -e bash /opt/slurp/script/slurp-0.0.5.sh

else echo "mi spiace, devi essere root per eseguire lo script"

fi


Così verifica se sono root e se si lancia lo script, se no mi dice che non può.

Questo funziona, ma da qui a me serve poter diventare root e continuare.



NOTA:

mi viene in mente adesso che la soluzione potrebbe anche non riguardare direttamente lo script, se ci fosse un modo di agire a livello di "lanciatore" la soluzione sarebbe molto più semplice...


Ancora un altro EDIT:

la soluzione più semplice che ho trovato è agire sul lanciatore, così:

[Desktop Entry]
Categories=System
Version=0.0.5
Type=Application
Name=Slurp!
Comment=Script per Slackware, aggiorna il sistema e configura slackpkg/plus.
Exec=su - root -c "bash /opt/slurp/script/slurp-0.0.5.sh"
Icon=/opt/slurp/logo/Slurp-Logo-final.png
Path=
Terminal=true
StartupNotify=false
Keywords=slackpkg;upgrade;script;slackware


Il terminale su true e il comando suggerito da @trigg  che comanda l'esecuzione dello script.

Sembra essere perfetto, anche se così mi sono perso la formattazione di xterm...

Continuerò (...parlando da solo) nel topic di Slurp: sono ancora interessato a tutte le possibili alternative, per cui, se a qualcuno venisse in mente qualcosa io lo ascolterei molto volentieri.   :)
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Sabato 09 Giugno 2018, 01:53:53
Ho trovato la soluzione definitiva con questa sintassi per la voce "Exec=" del lanciatore:

Exec=xterm -geometry 80x28+30+200 -sb -rightbar -font -*-fixed-medium-r-*-*-20-*-*-*-*-*-iso8859-* -bg darkgrey -T Slurp!  -e su - root -c "bash /opt/slurp/script/slurp-0.0.5.sh"

con il terminale impostato su "false"

:ok: Grazie!  :ciao:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Sabato 09 Giugno 2018, 10:47:14
in effetti avevi chiesto di non usare sudo e gksu
il discorso di if user=root si può fare ma non era quello che avevi domandato nel post :)

tornando a llo script  secondo me non aveva molto senso indicare if user=root , perchè ,se non si è root il terminale di per sè già ti restituisce l'outpt devi essere root per eseguire questo comando.

al massimo se si vuole fare una cosa piè elegante potevi usare una cosa del genere ,   ora sono su anarchy e non posso provarla ma piu o meno è
 
echo -e "hai i privilegi di amministratore?\n(premi s per sì o un altro tasto per no)"
read -s -n1
if [ "$REPLY" == "s" -o "$REPLY" == "S" ]
then
su - root -c 'slackpkg update'

else
  esci


in questo modo ti dice
sei root?
se rispodni si ti chiede la password e lanci il comando
altrimenti esci dallo script
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Sabato 09 Giugno 2018, 11:41:06
Citazione di: nessuno il Venerdì 08 Giugno 2018, 11:26:28
...Senti un po'.  :)
...e per fare in modo che, anche se lanciato senza privilegi, lo script verifichi prima la condizione e nel caso chieda di salire con su. ...

Mannaggia a te mannaggia, come non avevo chiesto  di usare if: come la volevi verificare la condizione?..

La prossima volta te lo dico in barese (...io sono anche un po' di Giovinazzo).

Con la formuletta che hai postato mi sembra che il su sia legato all'esecuzione del singolo comando,  se è così diventa una palla eseguire tutti i comandi dello script.

Comunque così come è andata è la soluzione perfetta: io non volevo stravolgere lo script, e non l'ho proprio toccato. E volevo continuare a usare XTerm. E così continuo ad usarlo.

Il comando che mi hai suggerito era perfetto per la bisogna se usato nel lanciatore...

...Meglio di così non poteva andare. ;)

In qualche altro script capiterà sicuramente di usare if, ecc...

Comunque a scopo didattico qualche prova la faccio, Ma non per  modificare Slurp, così com'è è troppo bello!  :)
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Sabato 09 Giugno 2018, 11:57:08
se lo script viene lanciato con su come vuoi fare allora non c'è da fare niente

se invece lo script viene lanciato da user allora secondo me non serve dire al sistema controlla che user è root perchè già lo fa
se sei root lancia il comando se non sei root ti dice che devi avaere i privilegi

la soluzione che userei è quella che ho scrittp prima

cioè lancio lo script da user
prima del comando chiedo di salire con su
e dopo lancio il comando.

però questo non serve per come hai ipostato il comando di lancio dello script perchè lo avii con su  :)
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Martedì 17 Luglio 2018, 09:54:40
questo script è la bozza del terminal-manger di gentoo
può esee utile per chi come me è alle prime armi con gentoo

ci sono i comandi di base che servono a gentoo , dopo sta all'utente capire cosa chiede portage

#!/bin/bash
clear

# Controllo dei permessi di chi esegue lo script
if [ "$EUID" -ne 0 ]
  then echo "Eseguire lo script con i permessi di amministratore (su o sudo)"
  exit
fi

############## Opzioni per il menu ##########################

options=("Cerca" "Installa Disinstalla Pacchetti" "Gestione Use-Flag" "Aggiorna il Sistema" "Pulizia di Sistema" "Esci")

################### subcerca ######################

Cerca () {
echo "Seleziona il numero della tua scelta"
cerca=("Aggiorna Eix e Cerca " "Cerca Senza Aggiornare " "Menu" )
PS3="> "
select mopt in "${cerca[@]}"
do
     case $mopt in
         "${cerca[0]}") echo "Aggiorna Eix e Cerca "
        echo -n "Quale pacchetto desideri cercare? " ; read pack
eix-update
eix $pack
REPLY=
        ;;
         "${cerca[1]}")  echo "Cerca Senza Aggiornare "
echo -n "Quale pacchetto desideri cercare? " ; read pack
eix $pack
REPLY=
              ;;
"${cerca[2]}") echo "Menu Principale"
break
    ;;
*) REPLY=
;;
     esac
done
}

###################################### Sub Pacchetti ############################

Installa_Disinstalla_Pacchetti () {
echo "Seleziona il numero della tua scelta"
pacchetti=("Installa da Portage Tree " "Installa da Overlays " "Rimuovi Pacchetto " "Menu" )
PS3="> "
select mopt in "${pacchetti[@]}"
do
     case $mopt in
         "${pacchetti[0]}") echo "Installa da Portage Tree "
             echo -n "pacchetto da installare " ; read INSTALLA
emerge --ask $INSTALLA
echo "eseguito"
REPLY=
        ;;
"${pacchetti[1]}") echo "Installa da Overlays "
echo "devi prima scaricare l'ebuild"
echo premi un tasto per continuare
read -n1
cd /home/trigg/Scaricati/G

echo -n "Indica Categoria/Pacchetto " ; read rp
ls

echo -n "Inserisci .ebuild " ; read ebuild
mkdir -p /usr/local/portage/$rp

cp $ebuild /usr/local/portage/$rp
#mv $ebuild /mnt/DATI/gentoo/'installazione gentoo'/ebuild/
cd /usr/local/portage/$rp

repoman manifest
emerge --ask $rp
REPLY=
;;
"${pacchetti[2]}") echo "Rimuovi Pacchetto "
            echo -n "Indica categoria/pacchetto da rimuovere" ; read ctpr
emerge --depclean --ask $ctpr
echo "eseguito"
REPLY=
             ;;

"${pacchetti[3]}") echo echo "Menu Principale"
break
    ;;
*) REPLY=
;;
     esac
done
}

########################### Gestione Use Flag #################################

Gestione_Use_Flag () {
echo "Seleziona il numero della tua scelta"
         Use_Flag=("Abilita Use-Flag " "Disabilita Use-Flag " "Menu" )
PS3="> "
select mopt in "${Use_Flag[@]}"
do
     case $mopt in
"${Use_Flag[0]}") echo "Abilita Use-Flag "
             echo -n "Indica Categoria/Pacchetto da ricompilare" ; read cpt
echo -n "Indica Use-flag da abilitare" ; read use
euse --enable $use --package $cpt
emerge --ask --changed-use --deep @world
echo "eseguito"
REPLY=           
             ;;
"${Use_Flag[1]}") echo "Disabilita Use-Flag "
   echo -n "Indica Categoria/Pacchetto da ricompliare" ; read dcpt
echo -n "Indica Use-flag da disabilitare" ; read duse
euse --disable $duse --package $dcpt
emerge --ask --changed-use --deep @world
echo "eseguito"
REPLY=             
             ;;
"${Use_Flag[2]}") echo echo "Menu Principale"
break
    ;;
*) REPLY=
;;
     esac
done
}

######################################### Aggiorna ###############################

Aggiorna () {
echo "Seleziona il numero della tua scelta"
         aggiorna=("Aggiorna Portage Tree " "Aggiorna Pacchetti e Dipendenze " "Esegui emerge --update --newuse --deep @world " "Esegui emerge --ask --depclean " "Esegui emerge @preserved-rebuild " "Menu" )
PS3="> "
select mopt in "${aggiorna[@]}"
do
     case $mopt in
"${aggiorna[0]}") echo "Aggiorna Portage Tree "
emerge --sync
echo "eseguito"
REPLY=             
              ;;
"${aggiorna[1]}") echo "Aggiorna Pacchetti e Dipendenze "
echo "Stai per lanciare emerge --update --changed-use --deep --with-bdeps=y @world
Premi un Tasto per Continuare "
read -n1
emerge --update --changed-use --deep --with-bdeps=y @world
echo "eseguito"
REPLY=             
              ;;
"${aggiorna[2]}") echo "Esegui emerge --update --newuse --deep @world "
emerge --update --newuse --deep @world
echo "eseguito"
REPLY=             
              ;;
"${aggiorna[3]}") echo "Esegui emerge --ask --depclean "
emerge --ask --depclean
echo "eseguito"
REPLY=             
              ;;

"${aggiorna[4]}") echo "Esegui emerge @preserved-rebuild "
emerge @preserved-rebuild
echo "eseguito"
;;
"${aggiorna[5]}") echo echo "Menu Principale"
break
    ;;
*) REPLY=
;;
     esac
done
}

################################### Pulizia ##############################

Pulizia () {
echo "Seleziona il numero della tua scelta"
         pulizia=("Pulizia /var/tmp/portage " "Esegui eclean-dist " "Menu" )
PS3="> "
select mopt in "${pulizia[@]}"
do
     case $mopt in
"${pulizia[0]}") echo "Pulizia /var/tmp/portage "
echo "stai per eliminare le cartelle in /var/tmp/portage/  premi un tasto per continuare"
read -n1
/usr/bin/find /var/tmp/portage/  -mindepth 1 -maxdepth 1 -exec /bin/rm -rf {} +;
REPLY=
             ;;
"${pulizia[1]}") echo  "Esegui eclean-dist "

echo "stai per eseguire eclean-dist premi un tasto per continuare"
read -n1
eclean-dist
REPLY=
;;
"${pulizia[2]}") echo echo "Menu Principale"
break
    ;;
*) REPLY=
;;
     esac
done
}
### Scrivi le altre funzioni
###
### Fine delle funzioni


# Il menu
clear
PS3="Inserisci valore : "
select opt in "${options[@]}"
    do
        case $opt in
            "${options[0]}")
                    clear
                    # Richiama la funzione "cerca" dichiarata precedentemente
                    Cerca
                    REPLY=
            ;;
            "${options[1]}")
                   Installa_Disinstalla_Pacchetti
                    REPLY=
            ;;
            "${options[2]}")
                   Gestione_Use_Flag
                    REPLY=
            ;;
            "${options[3]}")
                   Aggiorna
                    REPLY=
            ;;
            "${options[4]}")
                   Pulizia
                    REPLY=
            ;;
            # Continua con le altre funzioni
            #
            "${options[-1]}") # Richiama l'ultimo indice (Uscita dallo script)
                    clear
                    exit
            ;;
        esac
    done


un ringraziamento è doveroso (non me ne vogliate male) a sabayonino di gentoo forum italia che mi ha aiutato tantissimo nell'eleborare lo script
l'utilità dello script sta anche nel creare menu e sub-menu
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Mercoledì 18 Luglio 2018, 22:15:31
c'è voluto tempo tanto tempo , tanta emicrania e tanta fatica
ma alla fine ci sono riuscito

TRIGG.sh GENTOO TERMINAL MANAGER (https://paste.pound-python.org/show/qMfm9ihpCSKRJKcvKF6y/)
;D

TRIGG.sh GENTOO TERMINAL MANAGER  (https://paste.pound-python.org/show/jINGT9r32cs9UZ2uSbnx/)

Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Domenica 29 Luglio 2018, 18:40:42
trigger gentoo termianl manager update (https://paste.pound-python.org/show/lWZCf8VvaYVcB4yym0bU/)

questa è la versione più completa dello script

modifiche

aggiunta di
-etc-update
-layman

adesso posso predere una pausa per organizzare l progetti delle nuove idee da riportare su leafpad dalla mia mente
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi -slackware deb to txz
Inserito da: trigg il Sabato 27 Ottobre 2018, 19:40:13
questo script converte i file .deb in file .txz per slackware

#!/bin/bash
echo " apri il seguente collegamento
https://debian.pkgs.org/ "
sleep 4

cd /home/$USER
echo -n "crea la cartella del file .deb" ; read CARTELLA
mkdir -p $CARTELLA/pacchetti
cd /home/$USER/$CARTELLA
echo -n "incolla link del file .deb" ; read LINK
wget $LINK
cd /home/$USER/$CARTELLA
ls
echo -n "pacchetto .deb da installare " ; read INSTALLA
ar -x /home/$USER/$CARTELLA/$INSTALLA
clear
ls
echo -n "indica estenione gz o xz del file data.tar " ; read ESTENSIONE
cd pacchetti
tar xvf ../data.tar.$ESTENSIONE
#echo -n "dai il nome al file .txz esempio mintstick.txz" ; read txz
clear

su -c " makepkg -l y -c n /home/$USER/debtotxz/$INSTALLA.txz "
cd /home/$USER/debtotxz/
clear
echo ridigita PWD
su -c " upgradepkg --install-new $INSTALLA.txz "
exit
su -c " upgradepkg --install-new $txz "
exit


avrei voluto fare il video ma non ho avuto tempo
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Domenica 28 Ottobre 2018, 12:44:58
Ciao trigg,

hai rimesso in funzione la "Fucina", mi fa piacere.

Io sto usando da mesi ormai Il nostro programmino, Slurp!. Nella sua semplicità funziona benissimo. E adesso non saprei più farne a meno.

Ultimamente stavo pensando di fare un altro programmino con il quale gestire quella parte di slackpkg che si occupa della ricerca delle informazioni, la ricerca dei pacchetti, l'installazione e la rimozione del software.

Per il momento ho in mente solo i comandi che deve eseguire e una idea sul logo-icona e il nome del programma.

Per il Logo userò una vignetta di Bonvi, anche in omaggio ai 50 anni di Sturmtruppen (ottobre 1968-2018),
e il nome sarà presumibilmente:

Slackpkg Kommander


Lo spririto di slackpkg kommander:
(https://i.imgur.com/X1X21Ea.jpg)

...i 50 anni
(https://i.imgur.com/2uI6Lso.jpg)

Tu hai qualcosa in mente, hai voglia di partecipare?

Senza nessuna fretta...

:ciao:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Domenica 28 Ottobre 2018, 12:59:38
!!!CIAO NICK!!!

è da diverso tempo che uso gentoo ma ieri mi è venuta l'illuminazione sullo script deb to txz per slackware

slackware non può mancare sul mio pc perchè è grazie a te e a slackware che ho iniziato a capire ed approfondire la conoscenza di linux :) e devo molto sia a te che a slackware.

non ho capito nello specifico cosa intendi per quella parte di slackpkg che si occupa della ricerca delle informazioni, la ricerca dei pacchetti, l'installazione e la rimozione del software.

ps anch'io sto usando slurp ed avevo intenzione di arricchirlo magari posto una bozza basata su slurp e ci lavoriamo sopra per metterci la ricerca ,l'installazione, informazione e tutto cio che riguarda i pacchetti

magari inserendoci anche lo script deb to txz ^_^

ciao e dimmi se postare la boza di slurp
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Domenica 28 Ottobre 2018, 13:35:24
slackpkg info "nomepacchetto"
slackpkg search ...
slackpkg file search ...
slackpkg install ...
slackpkg remove


Questa è sostanzialmente la "parte" di cui parlavo.

Riguardo a Slurp io ci tengo moltissimo che rimanga così semplice, non a caso l'ho definito "slackpkg updates manager" (guarda il logo nella mia firma), il suo compito son gli updates . Per questo non ho neanche tentato di inserirci altro all'epoca.
L'idea era già allora quella di fare un secondo script/programma.

Tu però sentiti libero di modificare slurp a tuo piacimento, è sufficiente che lo chiami con un altro nome (possibilmente completamente diverso) per non confonderlo con l'originale. A me certamente non dispiace.

In ogni caso Slackpkg Kommander nascerà con questo nome e farà le operazioni che ho elencato più su,  anche se mi riservo di consultare prima le pagine man di slackpkg.

L'unica incognita è se tu vuoi farne parte, oppure no. Nel primo caso mi fa molto piacere, nel secondo me ne farò una ragione (...e lo farò da solo).

E' tutto più chiaro adesso?..  ;)

:ciao:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Domenica 28 Ottobre 2018, 14:26:26
 1) Aggiorna Sistema ---->(comandi ,slackpkg update gpg ,slackpkg check-updates, slackpkg update , slackpkg upgrade-all )
2) Configura slackpkg ----> (comandi , Configura slackpkplus ,Seleziona un Mirror, Edita la blacklist di slackpkg)
3) Gestione Pacchetti ----> (comandi , slackpkg info ..., slackpkg search ..., slackpkg file-search ..., slackpkg install/remove .... , upgradepkg --install-new ...)
4) Deb to txz
5) Esci

fare un menu principale con i sub-menu dei comandi

(http://i.imgur.com/uLdTT24.png)


Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Domenica 28 Ottobre 2018, 14:53:52

...Va bene. Ho capito. Lo farò da solo.

Riguardo a debtotxz già esiste: https://slackbuilds.org/repository/14.2/misc/deb2tgz/

Personalmente solo una volta ho convertito un deb in tgz, in genere preferisco compilarlo dai sorgenti, comunque è ritenuta una pratica sconsigliabile.
In ogni caso, quando anche io ne facessi un uso tale da dovermi preoccupare di velocizzare il procedimento, farei un'azione di thunar, che è molto più semplice e comoda da usare.

Aspetto di vedere lo script che c'è dietro la schermata che hai postato prima

P.S.

deb2tgz è anche lui basato su uno script, questo:

#!/bin/sh
# Copyright 2016 Vitor Borrego, Corroios, Portugal
# Heavily based on deb2tgz (https://code.google.com/archive/p/deb2tgz/) created by Marcos Henrique Esteves Barbosa
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
#  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
#  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
#  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
#  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
CURRDIR=$(pwd)

if [ "$1" = "" ]; then
    echo "$0:  Converts DEB format to standard GNU tar + (GZ/XZ/LZ/BZ) format."
    echo "    (view converted packages with \"less\", install and remove"
    echo "    with \"installpkg\", \"removepkg\", \"pkgtool\", or manually"
    echo "    with \"tar\")"
    echo
    echo "Usage:    $0 <file.deb>"
    echo "    (Outputs \"file.t*z\")"
    exit 1;
fi

# Create a new temporary directory with a secure filename:
make_temp_dir()
{
    if [ -x "$(which mcookie)" ]; then
        tempd=/tmp/tmp.$(mcookie)
        mkdir -p -m 0755 $tempd
    elif [ -x "$(which openssl)" ]; then
        tempd=/tmp/tmp.$(dd if=/dev/urandom bs=1k count=1 2> /dev/null | openssl dgst -md5)
        mkdir -p -m 0755 $tempd
    elif [ -x "$(which md5)" ]; then
        tempd=/tmp/tmp.$(dd if=/dev/urandom bs=1k count=1 2> /dev/null | md5)
        mkdir -p -m 0755 $tempd
    elif [ -x "$(which mktemp)" ]; then
        tempd=$(mktemp -d)
        chmod 755 $tempd
    fi

    if [ -d $tempd ]; then # success, return the name of the directory:
        echo $tempd
    else
        echo "ERROR:  Could not find mcookie, openssl, or md5."
        echo "        Exiting since a secure temporary directory could not be made."
       exit 1
    fi
}

for debfile in $* ; do
    # Create a temporary directory:
    TMPDIR=$(make_temp_dir)

    # Extract the DEB:
    # Extract the file data.* from package $debfile
    cp $debfile $TMPDIR
    cd $TMPDIR
    ar x $debfile 2> /dev/null
    # echo $TMPDIR
    # ls $TMPDIR
    #mv $DATAFILE $TMPDIR
    if [ ! $? = 0 ]; then
        echo "ERROR:  ar failed. (maybe $debfile is not an DEB?)"
        rm -rf $TMPDIR
        continue
    fi

    # Repack the files in the right archive:
    if [ "`basename $0`" = "deb2tgz" ]; then
        if [ -f "$TMPDIR/data.tar.gz" ]
        then
          mv $TMPDIR/data.tar.gz $CURRDIR/$(basename $debfile .deb).tgz
        fi

        if [ -f "$TMPDIR/data.tar.xz" ]
        then
          mv $TMPDIR/data.tar.xz $CURRDIR/$(basename $debfile .deb).txz
        fi

        if [ -f "$TMPDIR/data.tar.bz2" ]
        then
          mv $TMPDIR/data.tar.bz2 $CURRDIR/$(basename $debfile .deb).tbz
        fi

        if [ -f "$TMPDIR/data.tar.lzma" ]
        then
          mv $TMPDIR/data.tar.lzma $CURRDIR/$(basename $debfile .deb).tlz
        fi
    fi

    # Remove temporary directory:
    rm -rf $TMPDIR
done
cd $CURRDIR


Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Lunedì 29 Ottobre 2018, 09:52:07
questa è la bozza dello script è solo da completare
seguendo i passaggi del ***************** Sub AS********************

#!/bin/bash
clear

# Controllo dei permessi di chi esegue lo script
#if [ "$EUID" -ne 0 ]
# then echo "Eseguire lo script con i permessi di amministratore (su o sudo)"
  #exit
#fi

############## Opzioni per il menu ##########################

options=("Aggiorna Sistema" "Configura Slackpkg+" "Gestione Pacchetti" "Deb to Txz" "Esci")

################### subAS ######################

AS () {
echo "Seleziona il numero della tua scelta"
AS=("Menu" "slackpkg update gpg " "slackpkg check-updates " "slackpkg update " "slackpkg install-new" "slackpkg upgrade-all "  )
PS3="> "
select mopt in "${AS[@]}"
do
     case $mopt in
"${AS[0]}") echo "Menu Principale"
break
    ;;
         "${AS[1]}") echo "slackpkg update gpg "
slackpkg update gpg
REPLY=
        ;;
         "${AS[2]}")  echo "slackpkg check-updates "
slackpkg check-updates
REPLY=
              ;;
         "${AS[3]}")  echo "slackpkg update "
slackpkg update
REPLY=
              ;;
         "${AS[4]}")  echo "slackpkg install-new "
slackpkg install-new
REPLY=
              ;;
         "${AS[5]}")  echo "slackpkg upgrade-all "
slackpkg upgrade-all
REPLY=
              ;;


*) REPLY=
;;
     esac
done
}

###################################### Sub CSP ############################

CSP () {
echo "Seleziona il numero della tua scelta"
CSP=("Menu" )
PS3="> "
select mopt in "${CSP[@]}"
do
     case $mopt in
"${CSP[0]}") echo echo "Menu Principale"
break
    ;;
*) REPLY=
;;
     esac
done
}

########################### Gestione GP #################################

GP () {
echo "Seleziona il numero della tua scelta"
         GP=("Menu" )
PS3="> "
select mopt in "${GP[@]}"
do
     case $mopt in

"${GP[0]}") echo echo "Menu Principale"
break
    ;;
*) REPLY=
;;
     esac
done
}

######################################### DTT ###############################

DTT () {
echo "Seleziona il numero della tua scelta"
         DTT=("Menu" )
PS3="> "
select mopt in "${DTT[@]}"
do
     case $mopt in

"${DTT[0]}") echo echo "Menu Principale"
break
    ;;
*) REPLY=
;;
     esac
done
}


### Scrivi le altre funzioni
###
### Fine delle funzioni


# Il menu
clear
PS3="Inserisci valore : "
select opt in "${options[@]}"
    do
        case $opt in
            "${options[0]}")
                    clear
                    # Richiama la funzione "cerca" dichiarata precedentemente
                    AS
                    REPLY=
            ;;
            "${options[1]}")
                   CSP
                    REPLY=
            ;;
            "${options[2]}")
                   GP
                    REPLY=
            ;;
            "${options[3]}")
                   DTT
                    REPLY=
    ;;
            # Continua con le altre funzioni
            #
            "${options[-1]}") 
                    clear
                    exit
            ;;
        esac
    done

Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Lunedì 29 Ottobre 2018, 11:33:50
Non mi sembra neanche male come idea, certo non è ancora completato, è ancora parecchio in disordine, ma si può riordinare.

Se lo script lo fai solo per il tuo uso personale fallo pure come vuoi, tanto lo usi solo tu.

Se lo fai anche per gli altri considera questo consiglio: evita di aggiungerci debtotxz.

A parte che è assolutamente inutile, e lo dico da utente Slackware, ma è anche potenzialmente pericoloso se usato da chi non ha le idee chiare su Slackware prima e su quello che sta per fare immediatamente dopo.

Capisco che ormai l'hai fatto e sei "preso", come successe con le scorciatoie da tastiera: con le quali pretendevi di risolvere qualsiasi cosa, come se fosse semplice ricordarsele tutte, e per le quali rifiutasti di prendere in considerazione soluzioni più semplici e immediate. Una sorta di panacea...

La necessità di convertire un deb in txz è una cosa che torna utile così raramente (anche mai) che inserirla in uno script del genere, a parte i rischi che comporta per il sistema, corre anche il rischio di sottrarre spazio e visibilità a cose molto più utili e importanti.

Le mie considerazioni e le mie critiche vogliono essere costruttive, se non è così che le vedi basta farmelo sapere e io farò a meno di parlare la prossima volta. ;)
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: trigg il Lunedì 29 Ottobre 2018, 13:50:04
lo script non è in disordine è solo impostato

bisogna solo completarlo ed è aperto ad ogni possibile personalizzazione

diciamo che è è come il marmo di michelangelo bisogna solo togliere l'eccesso per realiare l'opera

questa bozza la si può fare liberamente come si vuole  :ciao:
Titolo: Re:La Fucina di @trigg: uno script per tutti gli usi - [Laboratorio per dilettanti]
Inserito da: nessuno il Lunedì 29 Ottobre 2018, 15:41:49
Per "in disordine" intendevo questo:

Seleziona il numero della tua scelta
1) Menu     4) slackpkg update
2) slackpkg update gpg     5) slackpkg install-new
3) slackpkg check-updates   6) slackpkg upgrade-all
>


Converrai con me che la sequenza dei comandi non segue certamente un ordine logico, neanche coerente.

Però, come già sottolineavi tu, è solo un accenno...

Comunque quello che avevo in mente io erano script distinti, ognuno con il suo compito, richiamabili con una voce apposita all'interno degli altri script, ma eseguibili singolarmente a seconda dell'esigenza del momento e,
grazie alla pacchettizzazione di Slackware. installabili con un unico pacchetto.
Tra questi pacchetti che compongono la suite anche  un mini-manuale che chiarisse, in modo conciso, le funzioni e lo scopo dei comandi richiamabili dal programma.

Questo perché ci tengo in modo particolare che il tutto sia strettamente fedele alla filosofia K.I.S.S. così come la intende Slackware.
Questa per me è una condicio sine qua non. Vale a dire che se non lo posso fare così non mi interessa farlo.