Script BASH e variabili d'ambiente

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
anycolouryoulike
Packager
Packager
Messaggi: 1158
Iscritto il: ven ago 10, 2007 0:00
Slackware: 12.2
Kernel: 2.6.34.8
Desktop: KDE 3.5.10

Script BASH e variabili d'ambiente

Messaggioda anycolouryoulike » ven mar 21, 2008 22:21

Ho questo script in .kde/Autostart che cerca lo sfondo di KDE e lo imposta come sfondo di Conky con Feh per poi lanciare appunto Conky.

Codice: Seleziona tutto

#!/bin/sh
feh --bg-scale `grep ^Wallpaper= ~/.kde/share/config/kdesktoprc | sed -e 's/^Wallpaper=//'`
conky &
exit
Perché mi restituisce questo errore?

Codice: Seleziona tutto

alessandro@darkstar:~$ .kde/Autostart/conky.sh
feh WARNING: $HOME/immagini/210308_by_Longalon.jpg - File does not exist
feh ERROR: Couldn't load image in order to set bg
Il file naturalmente esiste:

Codice: Seleziona tutto

alessandro@darkstar:~$ ls $HOME/immagini/210308_by_Longalon.jpg
/home/alessandro/immagini/210308_by_Longalon.jpg

Avatar utente
conraid
Staff
Staff
Messaggi: 12647
Iscritto il: gio lug 14, 2005 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Località: Livorno
Contatta:

Re: Script BASH e variabili d'ambiente

Messaggioda conraid » ven mar 21, 2008 22:33

Perché viene passata come stringa senza essere interpretata
Prova a fare qualcosa come

Codice: Seleziona tutto

...
IMG=`grep ^Wallpaper= ~/.kde/share/config/kdesktoprc | sed -e 's/^Wallpaper=//'`
feh --bg-scale $IMG
...

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6352
Iscritto il: gio nov 03, 2005 14:05
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Script BASH e variabili d'ambiente

Messaggioda targzeta » ven mar 21, 2008 22:39

Prima di tutto una dritta, se usi sed non hai bisogno di grep!!! ricordalo sempre ;).

Codice: Seleziona tutto

feh --bg-scale `sed -ne 's/^Wallpaper=//p'` ~/.kde/share/config/kdesktoprc

seconda cosa, $HOME viene vista come una stringa e non come una variabile, questo perchè è il risultato di un comando. Prova con:

Codice: Seleziona tutto

eval feh --bg-scale `sed -ne 's/^Wallpaper=//p'` ~/.kde/share/config/kdesktoprc


e fammi sapere,
spina
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6352
Iscritto il: gio nov 03, 2005 14:05
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Script BASH e variabili d'ambiente

Messaggioda targzeta » ven mar 21, 2008 22:40

conraid ha scritto:Perché viene passata come stringa senza essere interpretata
Prova a fare qualcosa come
...
[/code]

Certo che sei proprio un bot eh?

spina
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Avatar utente
conraid
Staff
Staff
Messaggi: 12647
Iscritto il: gio lug 14, 2005 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Località: Livorno
Contatta:

Re: Script BASH e variabili d'ambiente

Messaggioda conraid » ven mar 21, 2008 23:14

spina ha scritto:
conraid ha scritto:Perché viene passata come stringa senza essere interpretata
Prova a fare qualcosa come
...
[/code]

Certo che sei proprio un bot eh?

spina



Più che altro c'ho la "bot" :-)

Come ho detto varie volte questo periodo di "nullafacentismo" mi sta facendo male :-)

Avatar utente
anycolouryoulike
Packager
Packager
Messaggi: 1158
Iscritto il: ven ago 10, 2007 0:00
Slackware: 12.2
Kernel: 2.6.34.8
Desktop: KDE 3.5.10

Re: Script BASH e variabili d'ambiente

Messaggioda anycolouryoulike » ven mar 21, 2008 23:23

@conraid: Stesso errore!
@spina: Funziona alla grande! Mai sentito prima questo eval...

Grazie a entrambi!

PS: script definitivo:

Codice: Seleziona tutto

#!/bin/sh
eval feh --bg-scale `sed -ne 's/^Wallpaper=//p' ~/.kde/share/config/kdesktoprc`
conky &
exit


Torna a “Programmazione”

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite