Re: aiutino bash script

2005-11-29 Thread max

versione estesa ma semplice da capire:

for i in *; do
   mv "$i"  `echo "$i" | cut -d '.' -f1"`
  echo Rinomino  "$i" in `echo "$i" | cut -d '.' -f1"`
done



Paolo Sala ha scritto:
Ciao, in una variabile ho un nome di file e vorrei togliere 
l'estensione soltanto nel caso ce l'abbia. Il problema che non conosco 
l'estensione a priori.


Ho pensato che un modo potesse essere con un case sulle estensioni 
conosciute e poi applicare basename su quell'estensione ma è un po' 
limitato dal momento che funzionerebbe soltanto per le estensioni 
conosciute e mi pare anche un po' macchinoso.


Qualcuno mi può dare una mano?

Grazie

Piviul







__ 
Renovamos el Correo Yahoo! 
Nuevos servicios, más seguridad 
http://correo.yahoo.es



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: aiutino bash script

2005-11-29 Thread Paolo Sala

Mille e mille grazie.

Piviul

max scrisse in data 29/11/2005 13:34:


versione estesa ma semplice da capire:

for i in *; do
   mv "$i"  `echo "$i" | cut -d '.' -f1"`
  echo Rinomino  "$i" in `echo "$i" | cut -d '.' -f1"`
done



Paolo Sala ha scritto:

Ciao, in una variabile ho un nome di file e vorrei togliere 
l'estensione soltanto nel caso ce l'abbia. Il problema che non 
conosco l'estensione a priori.


Ho pensato che un modo potesse essere con un case sulle estensioni 
conosciute e poi applicare basename su quell'estensione ma è un po' 
limitato dal momento che funzionerebbe soltanto per le estensioni 
conosciute e mi pare anche un po' macchinoso.


Qualcuno mi può dare una mano?

Grazie

Piviul






   
__ Renovamos el Correo 
Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es






--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: aiutino bash script

2005-11-29 Thread Stefano Simonucci
On Tue, 2005-11-29 at 15:04 +0100, Paolo Sala wrote:
> Mille e mille grazie.
> 
> Piviul
> 
> max scrisse in data 29/11/2005 13:34:
> 
> > versione estesa ma semplice da capire:
> >
> > for i in *; do
> >mv "$i"  `echo "$i" | cut -d '.' -f1"`
> >   echo Rinomino  "$i" in `echo "$i" | cut -d '.' -f1"`
> > done
> >
> >

A me funziona solo togliendo le virgolette " subito dopo f1. Inoltre 
se prima dell' estensione ci sono altri punti nel nome?.

Si potrebbe provare la seguente modifica? ..

for i in * ; do
   Nome_nuovo=`echo "$i" | rev | cut -d '.' -f2- | rev `
   mv "$i" $Nome_nuovo
   echo Rinomino  "$i" in $Nome_nuovo
done


Stefano



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: aiutino bash script

2005-11-29 Thread Paolo Sala

Stefano Simonucci scrisse in data 29/11/2005 15:44:


On Tue, 2005-11-29 at 15:04 +0100, Paolo Sala wrote:
 

A me funziona solo togliendo le virgolette " subito dopo f1. Inoltre 
se prima dell' estensione ci sono altri punti nel nome?.


Si potrebbe provare la seguente modifica? ..

for i in * ; do
  Nome_nuovo=`echo "$i" | rev | cut -d '.' -f2- | rev `
  mv "$i" $Nome_nuovo
  echo Rinomino  "$i" in $Nome_nuovo
done


Stefano
 

Hai pienamente ragione, non avevo ancora controllato lo script: ora è 
perfetto.


Grazie mille a tutti

Piviul


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: aiutino bash script

2005-11-29 Thread Davide Prina

Paolo Sala ha scritto:
Ciao, in una variabile ho un nome di file e vorrei togliere l'estensione 
soltanto nel caso ce l'abbia. Il problema che non conosco l'estensione a 
priori.


un'altra soluzione

for i in *\.*; do mv $(echo "$i" $(echo "$i" | sed "s/\.[^\.]*$//")); done

Ciao
Davide

--
Dizionari: http://sourceforge.net/projects/linguistico
Conoscere il TC: http://www.no1984.org
Strumenti per l'ufficio: http://it.openoffice.org
Sistema operativo: http://www.it.debian.org
Browser: http://www.mozilla.org/products/firefox
Client di posta: http://www.mozilla.org/products/thunderbird
Linux User: 302090: http://counter.li.org
--
Non autorizzo la memorizzazione del mio indirizzo di posta a chi usa
outlook: non voglio essere invaso da spam


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: aiutino bash script

2005-11-29 Thread Paolo Sala
Grazie mille Davide, ci ho provato per due ore ieri a tirare fuori la 
regular expression che mi hai mandato. Ovviamente ho fallito. Non 
riuscirò mai a capirle quelle maledette re.


Grazie mille, mi studierò l'esempio che mi hai mandato.

Un saluto

Piviul

Davide Prina scrisse in data 29/11/2005 22:25:


Paolo Sala ha scritto:

Ciao, in una variabile ho un nome di file e vorrei togliere 
l'estensione soltanto nel caso ce l'abbia. Il problema che non 
conosco l'estensione a priori.



un'altra soluzione

for i in *\.*; do mv $(echo "$i" $(echo "$i" | sed "s/\.[^\.]*$//")); 
done


Ciao
Davide




--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Aiutino bash script

2006-08-19 Thread Sandro Tosi

Ciao vorrei rinominare una serie di files che iniziano con - n dove n è
un numero tra 1 e 9 sostituendo quello spazio fra - e n (n è appunto il
numero tra 1 e 9) con 0. Per farvi un esempio i files sono del tipo
- 1-altricaratteri
- 2-altricaratteriancora diversi
...

Vorrei rinominarli con 01, 02... che nell'esempio precedente diventano
quindi
-01-altricaratteri
-02-altricaratteriancora diversi
...

Qualcuno può darmi un mano?


Prova ad usare rename: si aspetta una regex alla perl, tipo

rename 's|-\ \([0-9]\)|-0\1|' 

ora, dal momento che iniziano con il carattere '-' un po' si lagna, ma
questo puoi anche risolverlo da te... :))

cmq funziona:

$ echo "- 1-altricaratteri" | sed 's|-\ \([0-9]\)|-0\1|'
-01-altricaratteri

Ciao

--
Sandro Tosi (aka Morpheus, matrixhasu)
My (little) site: http://matrixhasu.altervista.org/



Re: Aiutino bash script

2006-08-19 Thread Massimiliano Masserelli
On Sat, Aug 19, 2006 at 09:08:31AM +0200, Paolo Sala wrote:

> Ciao vorrei rinominare una serie di files che iniziano con - n dove n è
> un numero tra 1 e 9 sostituendo quello spazio fra - e n (n è appunto il
> numero tra 1 e 9) con 0.

Io per questo genere di cose uso "rename", che ti permette di fare
sostituzioni basate su espressioni regolari. In questo caso sarebbe
qualcosa tipo:

$ rename 's/^- /-0/' *

Ma è tanto comodo ad esempio anche per cambiare il case dei nomi di
file, tipo metter tutto in minuscolo:

$ rename 'tr/A-Z/a-z/' *

Ha il "difetto" che va installato a parte, per cui se stai facendo uno
script che va distribuito, è una dipendenza in più.
-- 
Massimiliano Masserelli
---
Le idee non stanno in certe menti molto a lungo, perche' ad esse non piace
la reclusione in isolamento.


-- 
Per REVOCARE l'iscrizione alla lista, inviare un email a 
[EMAIL PROTECTED] con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a [EMAIL PROTECTED]

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Aiutino bash script

2006-08-19 Thread Paolo Sala
Anzitutto mille grazie; scusate ma non ho una grande dimestichezza con
le RE; ho provato sia

$ rename 's/^- /-0/' *

che

$rename 's|-\ \([0-9]\)|-0\1|' *

ma mi risponde:
> Unknown option: 1
> Unknown option: 0
> Unknown option:
> Unknown option: 1
> Unknown option: 1
> Unknown option:
> Unknown option: 1
> Unknown option: 2
> Unknown option:
> Unknown option:
> Unknown option: 1
> Unknown option:
> Unknown option:
> Unknown option: 2
> Unknown option:
> Unknown option:
> Unknown option: 3
> Unknown option:
> Unknown option:
> Unknown option: 4
> Unknown option:
> Unknown option:
> Unknown option: 5
> Unknown option:
> Unknown option:
> Unknown option: 6
> Unknown option:
> Unknown option:
> Unknown option: 7
> Unknown option:
> Unknown option:
> Unknown option: 8
> Unknown option:
> Unknown option:
> Unknown option: 9
> Unknown option:
> Usage: rename [-v] [-n] [-f] perlexpr [filenames]

Cosa sbaglio?

Grazie

Piviul


-- 
Per REVOCARE l'iscrizione alla lista, inviare un email a 
[EMAIL PROTECTED] con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a [EMAIL PROTECTED]

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Aiutino bash script

2006-08-19 Thread gollum1
Alle 15:21, sabato 19 agosto 2006, Paolo Sala ha scritto:
> Anzitutto mille grazie; scusate ma non ho una grande dimestichezza con
> le RE; ho provato sia
>
> $ rename 's/^- /-0/' *
>
> che
>
> $rename 's|-\ \([0-9]\)|-0\1|' *
>
> ma mi risponde:
> > Unknown option: 1
[...]
> unknown option:
> > Usage: rename [-v] [-n] [-f] perlexpr [filenames]
>
> Cosa sbaglio?

probabilmente essendoci il segno - viene preso il primo carattere come se 
fosse un parametro da passare al programma rename, ma naturalmente quel 
parametro numerico non ha significato per il programma... la soluzione 
dovrebbe essere di far vedere il nome del file incluso in un paio di doppie 
virgolette... in modo che anche il segno - sia incluso direttamente nel nome 
e non come parametro a se stante...

Byez
-- 
Gollum 1
Tessoro, dov'é il mio tesssoro...



Re: Aiutino bash script

2006-08-19 Thread Massimiliano Masserelli
On Sat, Aug 19, 2006 at 03:21:14PM +0200, Paolo Sala wrote:

> ma mi risponde:
> > Unknown option: 1
[...]

Scusa non avevo pensato al trattino iniziale nell'esempio. Prova con 

$ rename 's/^- /-0/' -- *

e vedi se migliora.
-- 
Massimiliano Masserelli
---
Utuber te se bell, se l'e' fen l'e' in cassina
e'l vin in del vassell.
-- Antico proverbio della Brianza


-- 
Per REVOCARE l'iscrizione alla lista, inviare un email a 
[EMAIL PROTECTED] con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a [EMAIL PROTECTED]

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Aiutino bash script

2006-08-19 Thread Paolo Sala
Massimiliano Masserelli ha scritto:
> On Sat, Aug 19, 2006 at 03:21:14PM +0200, Paolo Sala wrote:
>
>   
>> ma mi risponde:
>> 
>>> Unknown option: 1
>>>   
> [...]
>
> Scusa non avevo pensato al trattino iniziale nell'esempio. Prova con 
>
> $ rename 's/^- /-0/' -- *
>
> e vedi se migliora.
>   
Funziona!!! ...puoi coretesemente spiegarmi cosa c'entrano i -- vicino a *?

Tani modi mille e mille grazie

Piviul


-- 
Per REVOCARE l'iscrizione alla lista, inviare un email a 
[EMAIL PROTECTED] con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a [EMAIL PROTECTED]

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Aiutino bash script

2006-08-19 Thread Massimiliano Masserelli
On Sat, Aug 19, 2006 at 05:06:13PM +0200, Paolo Sala wrote:

> > Scusa non avevo pensato al trattino iniziale nell'esempio. Prova con 
> > $ rename 's/^- /-0/' -- *
> > e vedi se migliora.
> Funziona!!! ...puoi coretesemente spiegarmi cosa c'entrano i -- vicino a *?

Se i file cominciano con il carattere "-", il comando li interpreta come
parametri passati e non come nomi di file. Specificando "--" come
parametro, si comunica al programma che quelli che seguono sono nomi di
file e non parametri. Direi che è una convenzione usata da tutti i
comandi GNU ed in generale quelli che usano libgetopt, ma non ci
metterei la mano sul fuoco. :)
-- 
Massimiliano Masserelli
---
"Meglio una gallina oggi che un uovo domani", come disse il gallo.
-- Da it.hobby.umorismo


-- 
Per REVOCARE l'iscrizione alla lista, inviare un email a 
[EMAIL PROTECTED] con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a [EMAIL PROTECTED]

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Aiutino bash script

2006-08-19 Thread Paolo Sala
Massimiliano Masserelli ha scritto:
> On Sat, Aug 19, 2006 at 05:06:13PM +0200, Paolo Sala wrote:
>
>   
>>> Scusa non avevo pensato al trattino iniziale nell'esempio. Prova con 
>>> $ rename 's/^- /-0/' -- *
>>> e vedi se migliora.
>>>   
>> Funziona!!! ...puoi coretesemente spiegarmi cosa c'entrano i -- vicino a *?
>> 
>
> Se i file cominciano con il carattere "-", il comando li interpreta come
> parametri passati e non come nomi di file. Specificando "--" come
> parametro, si comunica al programma che quelli che seguono sono nomi di
> file e non parametri. Direi che è una convenzione usata da tutti i
> comandi GNU ed in generale quelli che usano libgetopt, ma non ci
> metterei la mano sul fuoco. :)
>   
Perfetto, mille e mille grazie ancora.

Piviul


-- 
Per REVOCARE l'iscrizione alla lista, inviare un email a 
[EMAIL PROTECTED] con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a [EMAIL PROTECTED]

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: aiutino bash script

2012-05-24 Thread MaX
il problema sta nel'uso non corretto di $1.

prova con

function myfunc
{
  echo $1 $2
}
cmd="myfunc param 1""
$cmd

ciao
MaX

Il 24/05/12, Piviul ha scritto:
> Ciao a tutti avrei bisogno in uno script bash di inserire in una
> variabile un comando, parametri inclusi. Il problema è che i parametri
> possono contenere spazi quindi qualcosa come
>
> function myfunc
> {
>  echo $1
> }
> cmd="myfunc \"param 1\""
> $cmd
>
> Non ha il comportamento desiderato (in $1 di myfunc ho infatti "param
> non "param 1").
>
> In questi casi come si fa in bash?
>
> Grazie
>
> Piviul
>
>
> --
> Per REVOCARE l'iscrizione alla lista, inviare un email a
> debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per
> problemi inviare un email in INGLESE a listmas...@lists.debian.org
>
> To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact
> listmas...@lists.debian.org
> Archive: http://lists.debian.org/4fbdbedd.8080...@riminilug.it
>
>


-- 
ciao,
MaX


--
Per REVOCARE l'iscrizione alla lista, inviare un email a
debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a listmas...@lists.debian.org

To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/caeyavmuqhkenx_vyqdvrry12-lfkoq38g+thpzkmkodqq0k...@mail.gmail.com



Re: aiutino bash script

2012-05-24 Thread Paolo Sala
MaX scrisse in data 24/05/2012 09:12:
> il problema sta nel'uso non corretto di $1.
>   
non è proprio così: la funzione si aspetta che nel primo parametro ci
sia una parola che potrebbe contenere anche spazi. Vorrei gestire in una
variabile una chiamata tipo:

myfunc "param 1"

Non c'è quindi un modo?

Piviul


-- 
Per REVOCARE l'iscrizione alla lista, inviare un email a 
debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a listmas...@lists.debian.org

To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4fbde0f8.1010...@riminilug.it



Re: aiutino bash script

2012-05-24 Thread Giuseppe Sacco
Il giorno gio, 24/05/2012 alle 09.19 +0200, Paolo Sala ha scritto:
> MaX scrisse in data 24/05/2012 09:12:
> > il problema sta nel'uso non corretto di $1.
> >   
> non è proprio così: la funzione si aspetta che nel primo parametro ci
> sia una parola che potrebbe contenere anche spazi. Vorrei gestire in una
> variabile una chiamata tipo:

Puoi usare $*. Ad esempio questa è scritta in posix, senza la sintassi
bash:

myfunc()
{
 tutti="$*"
 echo $tutti
}
cmd="myfunc param1 param2 param3"
$cmd

Ciao,
G.


--
Per REVOCARE l'iscrizione alla lista, inviare un email a
debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a listmas...@lists.debian.org

To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/1337844180.6002.53.camel@scarafaggio



Re: aiutino bash script

2012-05-24 Thread Piviul
Giuseppe Sacco scrisse in data 24/05/2012 09:23:
> Puoi usare $*. 
è incredibilmente davvero difficile spiegarsi... non sono alla ricerca
di un workaround. La funzione che vorrei chiamare da uno script accetta
parametri differenti in particolare se siete curiosi devo fare una
chiamata a dar; i percorsi che devo passare a dar ad esempio con
l'opzione -R oppure -c oppure... possono contenere spazi. Mi farebbe
comodo, molto comodo nello script mettere la chiamata a dar in una
variabile: è possibile che non ci sia il modo per passare correttamente
un parametro che può contenere spazi a una funzione?

Grazie lo stesso

Piviul

PS
Giuseppe, scusa il messaggio in privato


-- 
Per REVOCARE l'iscrizione alla lista, inviare un email a 
debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a listmas...@lists.debian.org

To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4fbde880.9010...@riminilug.it



Re: aiutino bash script

2012-05-24 Thread MaX
No, il problema sta proprio in $1, ed è incorretto perché bash usa
questa variabile per sapere quanti parametri deve passare allo script.
Tu la stai usando al contrario.

prova questo script dal nome prova.sh:
-
#!/bin/bash

echo $1

---

e lancialo con

# ./prova.sh par1 par2

la risposta sará: par1

Non saprei ora se c'è una soluzione, al limite potresti fare una
funzione che analizza il numero di spazi dei parametri e aggiunge alla
funzione un numero uguale di variabili $2 $3 $4...

ciao
MaX

Il 24/05/12, Paolo Sala ha scritto:
> MaX scrisse in data 24/05/2012 09:12:
>> il problema sta nel'uso non corretto di $1.
>>
> non è proprio così: la funzione si aspetta che nel primo parametro ci
> sia una parola che potrebbe contenere anche spazi. Vorrei gestire in una
> variabile una chiamata tipo:
>
> myfunc "param 1"
>
> Non c'è quindi un modo?
>
> Piviul
>
>
> --
> Per REVOCARE l'iscrizione alla lista, inviare un email a
> debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per
> problemi inviare un email in INGLESE a listmas...@lists.debian.org
>
> To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact
> listmas...@lists.debian.org
> Archive: http://lists.debian.org/4fbde0f8.1010...@riminilug.it
>
>


-- 
ciao,
MaX


--
Per REVOCARE l'iscrizione alla lista, inviare un email a
debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a listmas...@lists.debian.org

To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/caeyavmsz9ubkhyg6hxbyz4shhugdg5kavkprvvagqzbs6am...@mail.gmail.com



Re: aiutino bash script

2012-05-24 Thread Giuseppe Sacco
Il giorno gio, 24/05/2012 alle 09.51 +0200, Piviul ha scritto:
> Giuseppe Sacco scrisse in data 24/05/2012 09:23:
> > Puoi usare $*. 
> è incredibilmente davvero difficile spiegarsi... non sono alla ricerca
> di un workaround. La funzione che vorrei chiamare da uno script accetta
[...]

Per quanto io ne sappia non puoi ricostruire gli argomenti una volta che
metti tutto in una stringa (cmd) a meno che non utilizzi «eval». Ad
esempio:

#!/bin/dash
myfunc()
{
 tutti="$*"
 echo $tutti
}

myfuncB()
{
 echo $1
}

echo Tramite stringa
cmd="myfunc param1 param2 param3"
$cmd

echo Senza stringa
myfuncB "par- -am1" param2
echo Tramite stringa con eval
cmd="myfuncB \"par- -am1\" param2"
eval $cmd

In questo caso, nella seconda e terza invocazione, tutto funziona come
vorresti. Giusto?

Ciao,
G.


--
Per REVOCARE l'iscrizione alla lista, inviare un email a
debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a listmas...@lists.debian.org

To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/1337847888.6002.57.camel@scarafaggio



Re: aiutino bash script

2012-05-24 Thread Piviul
MaX scrisse in data 24/05/2012 09:59:
> No, il problema sta proprio in $1, ed è incorretto perché bash usa
> questa variabile per sapere quanti parametri deve passare allo script.
> Tu la stai usando al contrario.
>
> prova questo script dal nome prova.sh:
> -
> #!/bin/bash
>
> echo $1
>
> ---
>
> e lancialo con
>
> # ./prova.sh par1 par2
>   
Prova ad eseguire questo codice:
param1="primo parametro"; ./prova.sh "$param1"

Come vedi funziona tutto a dovere. Ora però se volessi traspotare questa
chiamata in una variabile, qualcosa tipo:
param1="parametro1";cmd="./prova.sh $param1"; $cmd

funziona ma se invece in param1 ci sono spazi non funziona più. Come
posso fare per fare in modo che funzioni lo stesso? ...mi sembra
impossibile ch enon si possa fare!

Grazie mille comunque a tutti quanti

Piviul


Infatti la chiamata che dovrei fare è ./prova.sh "primo parametro";
normalmente infatti se voglio passare un parametro che può contenere
spazi si usano le virgolette; ma se invece la chiamata alla funzione



-- 
Per REVOCARE l'iscrizione alla lista, inviare un email a 
debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a listmas...@lists.debian.org

To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4fbdf0a9.5070...@riminilug.it



Re: aiutino bash script

2012-05-24 Thread Alessandro T.

Il 24/05/2012 09:51, Piviul ha scritto:
è possibile che non ci sia il modo per passare correttamente un 
parametro che può contenere spazi a una funzione? 


Non son sicurissimo di aver capito ma:

$ function a(){ echo $1;}
$ a primo secondo
primo
$ a primo\ secondo
primo secondo
$ a 'primo secondo'
primo secondo

Tieni presente che bash individua i parametri grazie agli spazi; quindi 
o modifichi questo comportamento o usi gli escape o forzi la stringa.


--
Alessandro T.

R: Perché leggiamo dall'alto al basso e da sinistra a destra.
D: Perché dovrei iniziare la risposta all'e-mail dopo il testo citato?


--
Per REVOCARE l'iscrizione alla lista, inviare un email a 
debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per

problemi inviare un email in INGLESE a listmas...@lists.debian.org

To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4fbdef7e.3040...@yahoo.it



Re: aiutino bash script

2012-05-24 Thread Piviul
Giuseppe Sacco scrisse in data 24/05/2012 10:24:
> In questo caso, nella seconda e terza invocazione, tutto funziona come
> vorresti. Giusto?
>   
ESATTO! Grande Giuseppe, mille grazie! ...non avevo pensato ad eval!!!

Grazie ancora

Piviul


-- 
Per REVOCARE l'iscrizione alla lista, inviare un email a 
debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a listmas...@lists.debian.org

To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4fbdfc83.3020...@riminilug.it



Re: aiutino bash script

2012-05-24 Thread MaX
buono a sapersi. Grazie anche da parte mia :D

Il 24/05/12, Piviul ha scritto:
> Giuseppe Sacco scrisse in data 24/05/2012 10:24:
>> In questo caso, nella seconda e terza invocazione, tutto funziona come
>> vorresti. Giusto?
>>
> ESATTO! Grande Giuseppe, mille grazie! ...non avevo pensato ad eval!!!
>
> Grazie ancora
>
> Piviul
>
>
> --
> Per REVOCARE l'iscrizione alla lista, inviare un email a
> debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per
> problemi inviare un email in INGLESE a listmas...@lists.debian.org
>
> To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact
> listmas...@lists.debian.org
> Archive: http://lists.debian.org/4fbdfc83.3020...@riminilug.it
>
>


-- 
ciao,
MaX


-- 
Per REVOCARE l'iscrizione alla lista, inviare un email a 
debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a listmas...@lists.debian.org

To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/CAEyAVmsr+M6=eez5-uzhpqbwf1zgwkp7kgyvczwwxz-3o-k...@mail.gmail.com