Repository 32bit  Forum
Repository 64bit  Wiki

Bash: xargs, variabili e spazi

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.

Re: Bash: xargs, variabili e spazi

Messaggioda anycolouryoulike » dom giu 15, 2008 22:00

spina ne sai troppo.
Quindi anche nel mio caso non c'è bisogno di cambiare IFS, basta evitare la sostituzione di comando nel for:
Codice: Seleziona tutto
#!/bin/sh
for file in *.$1
do
    mplayer -ao pcm:fast:file="${file%.$1}.wav" "$file"
done
exit
Solo un dubbio mi è rimasto: perché \ls e non ls?
spina ha scritto:Ringraziandoti ancora per la dritta su $'' e con la speranza di esserti stato di aiuto,
Spina
Sono io che ti ringrazio, mi sei stato sempre molto d'aiuto, non solo in questa occasione.

PS: non c'è differenza tra ${file} e $file, vero?
Avatar utente
anycolouryoulike
Packager
Packager
 
Messaggi: 1158
Iscritto il: gio ago 09, 2007 23:00
Slackware: 12.2
Kernel: 2.6.34.8
Desktop: KDE 3.5.10

Re: Bash: xargs, variabili e spazi

Messaggioda targzeta » lun giu 16, 2008 0:02

anycolouryoulike ha scritto:....Solo un dubbio mi è rimasto: perché \ls e non ls?
tramite il '\' usi ls senza eventuali alias.

anycolouryoulike ha scritto:...
PS: non c'è differenza tra ${file} e $file, vero?
Se usi la forma ${casa} dici esplicitamente alla shell il nome della variabile, nell'altra forma la shell la ricava dal nome delle variabili definite.

In pratica non c'è differenza, quasi mai, a meno che tu non voglia concatenare l'espansione di una variabile con qualcos'altro. Al solito:
Codice: Seleziona tutto
casa="pi"
echo $casappo

mentre:
Codice: Seleziona tutto
casa="pi"
echo ${casa}ppo
pippo
Non solo, ma se paradossalmente esisteva una variabile chiamata "casappo" il primo comando espandeva la variabile "casappo", mentre con il secondo gli hai detto esplicitamente che la variabile da espandere si chiama "casa".

L'importante è sapere che c'è questa differenza, poi uno usa una quella che gli garba di più, come direbbero i toscani.

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

Re: Bash: xargs, variabili e spazi

Messaggioda anycolouryoulike » lun giu 16, 2008 15:14

L'avevo immaginato che evitava gli alias perché \ls non colorava i file listati...
Grazie ancora.
Avatar utente
anycolouryoulike
Packager
Packager
 
Messaggi: 1158
Iscritto il: gio ago 09, 2007 23:00
Slackware: 12.2
Kernel: 2.6.34.8
Desktop: KDE 3.5.10

Precedente

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti