Newsgroup: it.comp.os.linux.iniziare
Titolo: Script Bash

Ciao a tutti. Sto facendo uno script in cui c'è un'istruzione del tipo 
for i in *.png; do echo -e "percorso/$i" >> "file.txt"; done
Mi chiedo perchè se lo lancio da shell (./script) funziona mentre se lo 
lancio facendoci doppio click sopra funziona... male, cioè, mi crea un 
file.txt che invece di avere scritto all'interno una cosa tipo 
"percorso/tutti_i_file" ha scritto "percorso/*". Perchè? Che cambia?

 "percorso/tutti_i_file" ha scritto "percorso/*". Perchč? Che cambia?
Penso che il problema sia nelle virgolette. Non so che desktop manager usi
(gnome, kde, ecc.) ma prova a levarle. Altrimenti prova ad usare gli apici
singoli, altrimenti prova ad usare la barra inversa davanti (\). 
Quasi sicuramente l'icona passa la stringa alla shell tra virgolette e con
le tue diventa un casino.
Ciao
Max
-- 
Cerchi informazioni su Linux? 
Linuxpedia: 
http://maxint.dynalias.org

 Max
Uso kde. Cmq non credo dipenda da quello. L'espressione è un pò 
complessa e serve a scrivere dei tag in maniera ricorsiva dentro un file 
html:
for i in *.png; do echo -e 
"<tag1><tag2>$HOME/sottocartella/$i</tag2><tag3>#${i%%.*}</tag3></tag1>" 
 >> "$HOME/percorso/file.html"; done
Se ci metto le virgolette, dentro file.html viene scritto
<tag1><tag2>/home/nomeutente/sottocartella/*.png</tag2><tag3>#*</tag3></tag1>
Se ci metto gli apici invece
<tag1><tag2>$HOME/sottocartella/$i</tag2><tag3>#${i%%.*}</tag3></tag1>
Se non ci metto nulla non viene scritto niente (il backslash non provo 
neanche a usarlo data la complessità della stringa)

 Perchè? Che cambia? 
La directory corrente.
Prova ad aggiungere il comando pwd al tuo programma

 
È vero. Se lancio lo script con doppio click la mia directory di lavoro 
è comunque la mia home.
Si può cambiare? E se si, come?

 Si può cambiare? E se si, come?
cd

 Si può cambiare? E se si, come?
Prima di tutto chiediti cosa dovrebbe fare lo script. poi
chiediti come dovrebbe farlo ed infine controlla che lo 
script che hai scritto faccia quello che vuoi.
Una volta fatto tutto cio` ti sara` chiaro come modificare 
il tuo script. Questo, ovviamente, se hai gia` esperienza 
con la bash altrimenti studia un manuale introduttivo.
PS. La sciatteria del tuo post e non sapere come si cambia 
una directory non depone a tuo favore.

 una directory non depone a tuo favore.
Non mi sembra di avertelo chiesto.
1) Se qui c'è qualcosa di sciatta, quella è la tua risposta.
2) Hai notato come si chiama questo ng?
3) Credi che non sappia usare il comando cd? Allora non hai capito 
nulla. E questo non depone a tuo favore.
4) Uso linux ormai da più di 3 anni. Ma tu non potevi saperlo 
ovviamente. Pensa se ero un tizio alle prime armi con linux, magari 
indeciso se continuare ad usarlo o tornare a windows... beh... con una 
risposta del genere... secondo te cosa avrei fatto?
Ma questa non vuole essere una critica solo verso di te. Ho notato che 
gran parte della comunità (per la maggior parte in ng che non finiscono 
con "iniziare") dà sempre risposte del c..., come se uno dovesse prima 
documentarsi da solo e poi venire a chiedere quello per cui si è 
documentato... un bel paradosso! E non sono solamente cose successe a 
me: conosco altra gente che narra aneddoti del genere con i ng di linux...
Beh... tanto per mettermi io a fare un pò di filosofia... tutto questo 
dovrebbe invitare molta gente a riflettere.
E con questo ti saluto.