Repository 32bit  Forum
Repository 64bit  Wiki

Bash: xargs, variabili e spazi

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata e la versione del Kernel. Questi dati aiutano le persone che possono rispondere.
2) Specificare sempre il tipo di shell (bash, sh, csh, etc...)
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 dell'ultima regola 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 23: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: ven ago 10, 2007 0: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 1: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
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: 5914
Iscritto il: gio nov 03, 2005 15: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 16: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: ven ago 10, 2007 0: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 1 ospite

cron