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.
Rispondi
Avatar utente
anycolouryoulike
Packager
Packager
Messaggi: 1158
Iscritto il: ven 10 ago 2007, 0:00
Slackware: 12.2
Kernel: 2.6.34.8
Desktop: KDE 3.5.10

Script BASH e variabili d'ambiente

Messaggio da anycolouryoulike »

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: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Script BASH e variabili d'ambiente

Messaggio da conraid »

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: 6631
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Script BASH e variabili d'ambiente

Messaggio da targzeta »

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
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

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

Re: Script BASH e variabili d'ambiente

Messaggio da targzeta »

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
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

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

Re: Script BASH e variabili d'ambiente

Messaggio da conraid »

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 10 ago 2007, 0:00
Slackware: 12.2
Kernel: 2.6.34.8
Desktop: KDE 3.5.10

Re: Script BASH e variabili d'ambiente

Messaggio da anycolouryoulike »

@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

Rispondi