Script per creare nome file

Non importa se ti serve una mano per partire o se vuoi un consiglio avanzato: gli utenti "del Pinguino" hanno una risposta per ogni necessità.
Regole del forum
Rispondi
Avatar utente
dante5351
Livello: BD-ROM (6/15)
Livello: BD-ROM (6/15)
Messaggi: 202
Iscritto il: dom gen 19, 2014 5:03 pm

Script per creare nome file

Messaggio da dante5351 »

Buonasera.
Vorrei creare uno script (es pr.sh) che mi avvii il terminale, dia il comando "sudo rtcwake -m show -l" (senza virgolette), e poi prenda l'output di questo comando e lo trasformi nel nome di un'immagine che ora e' poppi.png, in modo da avere come risultato ~/Scrivania/output comando da terminale.png.
Mi ci gioco i baffi che e' possibile, ma io non sono in grado di scriverlo.
Qualcuno può aiutarmi?
Grazie
Con il Pc e' come con i bambini, ci vuole pazienza, ed un po' di modestia.

System
System
Bot ufficiale TurboLab.it
Bot
Messaggi:
Iscritto il: sab dic 31, 2016 6:19 pm
Contatta: Contatta

Re: Script per creare nome file

Messaggio da System » mar dic 01, 2015 6:07 pm


Avatar utente
PippoDJ
Livello: Storage Area Network (12/15)
Livello: Storage Area Network (12/15)
Messaggi: 1678
Iscritto il: sab nov 01, 2014 3:50 pm

Re: Script per creare nome file

Messaggio da PippoDJ »

dante5351 ha scritto:Vorrei creare uno script (es pr.sh) che mi avvii il terminale, dia il comando "sudo rtcwake -m show -l" (senza virgolette), e poi prenda l'output di questo comando e lo trasformi nel nome di un'immagine che ora e' poppi.png, in modo da avere come risultato ~/Scrivania/output comando da terminale.png.
Mi ci gioco i baffi che e' possibile, ma io non sono in grado di scriverlo.
Se ho capito bene cosa vuoi fare e ammesso che poppi.png sia sulla scrivania, il comando da inserire in pr.sh dovrebbe essere qualcosa del tipo:

Codice: Seleziona tutto

cp ~/Scrivania/poppi.png "~/Scrivania/$(sudo rtcwake -m show -l).png"
Spero di averti salvato i baffi. :)

Avatar utente
dante5351
Livello: BD-ROM (6/15)
Livello: BD-ROM (6/15)
Messaggi: 202
Iscritto il: dom gen 19, 2014 5:03 pm

Re: Script per creare nome file

Messaggio da dante5351 »

Benritrovato PippoDJ, e sono sicuro che col tuo aiuto non dovro' rinunciare ai miei favoriti. Infatti hai capito benissimo: voglio crearmi un promemoria al momento in cui imposto lo standby/resume del pc.

Pero' io devo sempre capire, prima.
Nel tuo codice, quel $(sudo rtcwake -m show -l) sta' a significare: il risultato del comando sudo rtcwake -m show -l? Quindi quel $ e' quello del terminale? Mi pare di si, ma gradirei una conferma.

Ho provato a lanciare lo script da terminale, aggiornando ai dati reali, col risultato:
dan@dan ~ $ cp ~/Video/Xreg/Risveglio-programmato "~/Scrivania/$(sudo rtcwake -m show -l).png"
cp: impossibile creare il file regolare "~/Scrivania/alarm: on Wed Dec 2 00:34:00 2015.png": File o directory non esistente.

Il "alarm: on Wed Dec 2 00:34:00 2015" e' il dato corretto di output del comando e quelli che sembrano trattini sono tilde.
Pero' da' lo stesso l'errore.
E, tanto per dirla tutta, voglio ottenere che quell'immagine che creo adesso col nome Risveglio-programmato, abbia il nome alarm: on Wed Dec 2 00:34:00 2015, ma questo l'hai capito.
Con il Pc e' come con i bambini, ci vuole pazienza, ed un po' di modestia.

Avatar utente
CUB3
Moderatore
Moderatore
Messaggi: 1950
Iscritto il: lun gen 26, 2015 10:13 am

Re: Script per creare nome file

Messaggio da CUB3 »

Prova così:

Codice: Seleziona tutto

cp ~/Scrivania/poppi.png ~/Scrivania/"$(sudo rtcwake -m show -l)".png
"Let me tell you a secret: when you hear that the machine is “smart”, what it actually means is that it’s exploitable." Mikko Hypponen

Avatar utente
dante5351
Livello: BD-ROM (6/15)
Livello: BD-ROM (6/15)
Messaggi: 202
Iscritto il: dom gen 19, 2014 5:03 pm

Re: Script per creare nome file

Messaggio da dante5351 »

Benritrovato CUB3.
Lanciando:
dan@dan ~ $ cp ~/Video/Xreg/Risveglio-programmato ~/Scrivania/"$(sudo rtcwake -m show -l)".png
Funziona a meta', nel senso che crea sulla scrivania il file con il titolo esatto, pero' per vedere l'immagine bisogna cliccarci sopra e apprire gThumb, cioe' il visualizzatore d'immagini
Lanciando:
dan@dan ~ $ cp ~/Video/Xreg/Risveglio-programmato ~/Scrivania/"$(sudo rtcwake -m show -l)"
Dovrebbe essere ok, nel senso che crea l'immagine con la scritta allarm:off, ma il resume e' scaduto 15 minuti fa, e quando rtcwake fa il resume, azzera l''impostazione.
Adesso devo lasciare buono buono il pc a registrare, domani controllero', ma sono sicuro che la vostra collaborazione ha funzionato ancora.
Fate una coppia imbattibile :clap :clap
Con il Pc e' come con i bambini, ci vuole pazienza, ed un po' di modestia.

Avatar utente
CUB3
Moderatore
Moderatore
Messaggi: 1950
Iscritto il: lun gen 26, 2015 10:13 am

Re: Script per creare nome file

Messaggio da CUB3 »

Grazie dante5351.

Per il problema dell'immagine mi sembra di capire che quando questa viene creata, non vedi l'anteprima ma vedi l'icona generica dei file immagine. Se è così è sufficiente che tu clicchi su un punto vuoto del Desktop e poi prema F5.
"Let me tell you a secret: when you hear that the machine is “smart”, what it actually means is that it’s exploitable." Mikko Hypponen

Avatar utente
dante5351
Livello: BD-ROM (6/15)
Livello: BD-ROM (6/15)
Messaggi: 202
Iscritto il: dom gen 19, 2014 5:03 pm

Re: Script per creare nome file

Messaggio da dante5351 »

Confermo: il comando
$ cp ~/Video/Xreg/Risveglio-programmato ~/Scrivania/"$(sudo rtcwake -m show -l)" o, per usare i nomi precedenti
$ cp ~/Video/Xreg/poppi ~/Scrivania/"$(sudo rtcwake -m show -l)"
funziona come volevo.
E la ragione per cui non funzionava con .png e' perche' poppi è .jpeg :acch :frustata

Naturalmente, fatta la prova aggiungendo .jpeg, funziona. Un errore da 2a elementare. Sorry

In ultimo cito:
Re: Risvegliare Pc da standby con crontab
Messaggioda PippoDJ » 18/11/2015, 17:44
...Il simbolo "$" ha tantissimi usi diversi a seconda del contesto in cui viene inserito...

In questo caso sta a significare: esegui nel terminale.

Certo che con questi scripts mi si è aperto un mondo, che con Windows restava nascosto, anche se c'era. :grazie
Con il Pc e' come con i bambini, ci vuole pazienza, ed un po' di modestia.

Avatar utente
PippoDJ
Livello: Storage Area Network (12/15)
Livello: Storage Area Network (12/15)
Messaggi: 1678
Iscritto il: sab nov 01, 2014 3:50 pm

Re: Script per creare nome file

Messaggio da PippoDJ »

dante5351 ha scritto:In ultimo cito:
Re: Risvegliare Pc da standby con crontab
Messaggioda PippoDJ » 18/11/2015, 17:44
...Il simbolo "$" ha tantissimi usi diversi a seconda del contesto in cui viene inserito...

In questo caso sta a significare: esegui nel terminale.
Non proprio. $( ... ) vuol dire più o meno: "esegui prima il comando che c'è all'interno di $() e rimpiazza tutto il $() con il risultato ottenuto, poi esegui il comando più esterno".

Quindi in pratica tutto quanto viene eseguito in due passaggi:
1o: cp ~/Video/Xreg/Risveglio-programmato ~/Scrivania/"$(sudo rtcwake -m show -l)".jpg
2o: cp ~/Video/Xreg/Risveglio-programmato ~/Scrivania/"alarm: on Wed Dec 2 00:34:00 2015".jpg

E' lo stesso accorgimento che avevi già usato in:
1o: sudo rtcwake -m no -u -t $(date +\%s -d 'tomorrow 12:05')
2o: sudo rtcwake -m no -u -t 1449140700

Ciao, Pippo.

Avatar utente
dante5351
Livello: BD-ROM (6/15)
Livello: BD-ROM (6/15)
Messaggi: 202
Iscritto il: dom gen 19, 2014 5:03 pm

Re: Script per creare nome file

Messaggio da dante5351 »

Continuo a sostenere che dovresti fare il divulgatore scientifico: non hai niente da invidiare a Piero Angela. Da solo non l'avrei neanche sognato.
Ciao Dante
Con il Pc e' come con i bambini, ci vuole pazienza, ed un po' di modestia.

Avatar utente
Ganondolf
Livello: Disco fisso (9/15)
Livello: Disco fisso (9/15)
Messaggi: 678
Iscritto il: mar gen 28, 2014 10:51 am
Località: Mestre

Re: Script per creare nome file

Messaggio da Ganondolf »

Più in generale, in questo contesto il carettere $ significa "il valore di".
Quindi ad esempio, in uno script $1 significa "il valore del primo argomento", $PATH significa "il valore della variabile PATH", e $(...) significa "il valore dell'espressione contenuta tra parentesti", che implica che tale espressione debba venire valutata, cioè viene eseguita prima del comando che la contiene.

System
System
Bot ufficiale TurboLab.it
Bot
Messaggi:
Iscritto il: sab dic 31, 2016 6:19 pm
Contatta: Contatta

Re: Re: Script per creare nome file

Messaggio da System » mer dic 02, 2015 5:40 pm


Rispondi
  • Argomenti simili
    Risposte
    Visite
    Ultimo messaggio