Consenso all'uso dei cookies

SITO1 -- SITO2 -- Forum2 -- CercaGlobale -- Informativa su Cookie e Privacy

Questo Forum1 è in sola lettura -- Usa il Forum2


//Removed by EUCookieLaw Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
[RISOLTO] Script sposta fonts che sposta di tutto
#1
Video 
Scusatemi se sbaglio in qualcosa ma mi sono intestardito perchè sto cercando di capire....
come dal post che forse erroneamente ho aperto nella sezione Ubuntu Plus Remix Supporto ed Aiuto in QUESTA PAGINA questo script
Codice:
#!/bin/bash
# Font-Installer
##########################################################################
#                             Fonts Installer                            #
##########################################################################
#                                                                        #
# Created by Federico Vecchio (Vecna)                                    #
#                                                                        #
##########################################################################

wait='File was installed successfully!'
title_wait='Installing'

errors='An error has occured'
title_errors='Error'


if [[ ! -a "~/.fonts" ]]; then
    mkdir -p ~/.fonts
fi

mv $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS ~/.fonts

if (( $? == 0 )); then
    fc-cache -fv | zenity --info --title "$title_wait" --text "$wait";
else    zenity --info --text "$errors" --title "$title_errors";
fi

che abbiamo attivo nel menù contestuale della 14.04 PlusRemix fa cose che non dovrebbe fare e cioè sposta nella cartella .fonts anche file .png .jpg e cartelle di vario genere naturalmente se gliele diamo in pasto...
Ora questa linea
Codice:
if [[ ! -a "~/.fonts" ]]; then
    mkdir -p ~/.fonts
da quel che ne posso capire dovrebbe essere quella preposta alla verifica del file che gli diamo da spostare nella cartella .fonts e che questo finisca con gli ultimi 6 caratteri che dovrebbero essere .fonts, se ciò si verifica allora sposta il file nella suddetta cartella
ma deve esserci un'errore nella sintassi della prima parte di questa linea perchè come ho detto sposta anche file che non hanno nulla a che vedere con i fonts
c'è qualcuno all'ascolto che può darmi una mano a capire come eventualmente correggere questo errore
grazie per le risposte SmileSleepy
[Immagine: http://i62.tinypic.com/2jed1qs.png]
Sono maldestro....il peggio è che sono pure mancino!! 

Cita messaggio
#2
Ciao, il codice infatti è scritto solo per spostare i files selezionati (Qualsiasi) nella cartella ~/.fonts
Le righe da te riportate
Codice:
if [[ ! -a "~/.fonts" ]]; then
    mkdir -p ~/.fonts

Dicono solo che se non esiste la cartella ~/.fonts la crea.
Cita messaggio
#3
Se può servirti puoi usare uno script cosi, non hai bisogno di selezionare i files, basta che siano nella scrivania e puoi aggiungere estensioni che ti interessa spostare nella cartella ~/.fonts
Ho commentato lo scriptino cosi che tu possa modificarlo a seconda delle tue esigenze in fatto di estensioni.

Codice:
#!/bin/bash

if [[ ! -d ~/.fonts ]]; then

    mkdir -p ~/.fonts

fi

cd ~/Scrivania

# Sposta qualsiasi file nella scrivania con estensione .ttf e .otf nella cartella ~/.fonts
# Si possono aggiungere altre estensioni desiderate aggiungendole alla riga sottostante
# Esempio: *.ttf *.otf *.estensione-che-vuoi
mv *.ttf *.otf ~/.fonts/ &>/dev/null

exit 0

Ti basta lanciarlo da nautilus script o come preferisci, fa lo stesso.
Cita messaggio
#4
ciao grazie Calos per avermi risposto non ci speravo più io non ne capisco molto però sto cercando a piccoli passi di capirne qualcosa ora per logica converrai con me che creare una cartella che deve contenere fonts ma nella quale è possibile infilarci di tutto non dovrebbe essere il fine dello script e quel che mi sembra di comprendere è che mancherebbe un rigo che esaminasse gli ultimi 3 caratteri del file e che nel caso non corispondessero a "ttf" oppure a "otf" ci avvisi e ci rifiuti il file
questa sarebbe la risoluzione che vorrei ottenere ci sarebbe qualcuno di buona volontà grazie ragazzi
max
[Immagine: http://i62.tinypic.com/2jed1qs.png]
Sono maldestro....il peggio è che sono pure mancino!! 

Cita messaggio
#5
Ciao, scusa la fretta ma sto per andare, se tu vuoi capire come fare un confronto allora puoi vedere questo scriptino che funziona dagli script di nautilus e controlla che l estensione sia ttf

Codice:
#!/bin/bash

ESTENSIONE=`echo "$@" | cut -d "." -f2`

if [[ "$ESTENSIONE" == "ttf" ]]; then

mv *.$ESTENSIONE ~/.fonts

exit 0

else

zenity --info --title="Errore" --text="Non hai selezionato file .ttf"

fi

exit 0

Praticamente estrae l' estensione dal file (solo uno) selezionato e ne da valore alla variabile $ESTENSIONE

Il confronto con if testa che sia uguale a ttf e nel caso sia vero sposta i file nella directory ~/.fonts ed esce

oppure notifica un errore perchè il file non è ttf

ovviamente è solo una bozza ma funziona cosi, se era questo che volevi Smile

In generale non ha molto senso perchè se volessi spostare i file/files "selezionati" si presuppone che la scelta sia data dalla tua selezione e non vuole ci sia un controllo estensione del/i file/s

Oppure come ti ho proposto nello scriptino nel precedente post sposti tutti i files nella scrivania con estensione ttf otf o puoi aggiungerne altre o modificare quelle come vuoi.

Ma se tutto ciò è a scopo didattico allora si, ha un senso.

Scusa ancora la fretta e spero non ci siano errori.

Buon Venerdi
Cita messaggio
#6
Grazie Carlos era proprio questo che andavo cercando qualcuno che mi spiegasse il funzionamento di determinati comandi grazie ancora per la pazienza
buon fine settimanaSmileIdea
[Immagine: http://i62.tinypic.com/2jed1qs.png]
Sono maldestro....il peggio è che sono pure mancino!! 

Cita messaggio
#7
allora rieccomi ho cercato con i tuoi suggerimenti di svolgere il compito per sostituire il primo script con questo

e per evitare di far danni prima di sostituirlo ti mostro aspettando una tua supervisione cosa ne dici? grazie ancora

Codice:
!/bin/bash

#  se non esiste la cartella ~/.fonts la crea

if [[ ! -a "~/.fonts" ]]; then
    mkdir -p ~/.fonts
fi

#  legge l'estensione dopo il punto

ESTENSIONE=`echo "$@" | cut -d "." -f2`

#  se l'estensione è ttf oppure otf allora sposta il file nella directory .fonts

if [[ "$ESTENSIONE" == "ttf" ]] || [[ "$ESTENSIONE" == "otf" ]]; then

mv *.$ESTENSIONE ~/.fonts

#    e ti dice che è atato fatto  tutto correttamente

zenity --info --title_wait='Installo' wait='Il vostro file è stato installato correttamente!'


#   altrimenti ti dice che hai sbagliato e naturalmente non sposta nulla

else

zenity --info --title="Errore" --text="Non hai selezionato file .ttf"

fi
[Immagine: http://i62.tinypic.com/2jed1qs.png]
Sono maldestro....il peggio è che sono pure mancino!! 

Cita messaggio
#8
Supervisione non direi, fra un po visto l interesse che hai ne saprai più di me e, "ci vuole poco".
L unico "consiglio" che mi sento di darti è di fare dei "test" ai comandi che inserisci negli script, pezzo per pezzo.

Questa riga necessita di "#" prima: !/bin/bash Quindi #!/bin/bash

Strumenti:
Codice:
man comando
Ti suggerisco anche la guida più preziosa che c'è online: http://www.pluto.it/ildp/guide/abs.html
Puoi scaricarla ed usarla offline, ci trovi tutto.
http://www.pluto.it/files/ildp/guide/abs/fto.html
http://www.pluto.it/files/ildp/guide/abs...n-ops.html
Notte.
Cita messaggio
#9
ciao, pensa che fino ad alcuni mesi or sono non mi sarei mai sognato di essere così preso dal computer anche perchè oramai mi manca poco ai 60 anni e mi sono sempre sentito negato finchè non ho iniziato a frequentare questo forum dove ho incontrato persone sempre disponibili anche con muli come me e che sono riusciti a farmi installare Ubuntu (grazie Mario), comunque nelle mie ricerche per capirne qualcosa ho scaricato questo corso ed ora sono bloccato in questa lezione
https://www.youtube.com/watch?v=wNOw1L2ZfRs
a me un pò ostica e nella quale mi sono impantanato spero che a secondo del tempo e voglia che avrai nel seguirmi mi sarai di supporto sempre in questa sezione del forum per ora ti ringrazio ed ancora buon fine settimana
[Immagine: http://i62.tinypic.com/2jed1qs.png]
Sono maldestro....il peggio è che sono pure mancino!! 

Cita messaggio
#10
Ciao MaxMax heheh ti capisco, ma anche io non è che sia cosi ferrato, ogni volta devo andarmi a vedere le cose per essere sicuro e faccio sempre dei test dei pezzi prima di comporre uno script che mi serve.
Riguardo il tuo link gli ho dato un occhio ed ho ascoltato i primi 10 minuti, è lungo e non avevo molto tempo.
Però nella guida che ti ho linkato trovi tutto ed anche ciò che si dice, almeno fin dove ho ascoltato, nella video guida postata da te, questo un link diretto dove trovi buone nozioni (Anche se vecchia rimane la guida migliore per il bash che usiamo in moltissimi, se non tutti, come riferimento):
http://www.pluto.it/files/ildp/guide/abs...ction.html
parla di redirect e degli stdin, stdout, stderr, trovi tutte le info dentro al link.

Qui invece come ti avevo già postat stanotte trovi riguardo l espressione di doppia verifica: http://www.pluto.it/files/ildp/guide/abs...n-ops.html
(if [[ "$ESTENSIONE" == "ttf" ]] || [[ "$ESTENSIONE" == "otf" ]]; then) scritta da te.
Se vai in fondo alla pagina trovi riferimenti specifici, ma ti conviene sempre leggere tutto.

Per i test che problema c'è, io faccio sempre cosi per non fare danni, creo una cartella prova nella scrivania con dei file di prova anche vuoti (seconda del test) e tentare comandi da terminale per verificare gli errori che riporta, poi quando si è certi metterli nello script.

Grazie e buon fine settimana anche a te.
Cita messaggio


Vai al forum: