Newsgroup: it.comp.macintosh
Titolo: [Bash-scripting] Spazi in cartelle

Salve,
mi chiedevo come fare in uno script bash a far sì che possa entrare in
cartelle con spazi... ho cercato in giro ma ho trovato solo suggerimenti
del tipo "non funziona se la cartella ha spazi" "evitare l'uso di
cartelle con spazi" e roba simile...
-- 
Poochie©

 cartelle con spazi" e roba simile...
Con le virgolette non dovresti aver problemi:
kallisti:/tmp alex$ mkdir 'goo zop'
kallisti:/tmp alex$ cd 'goo zop'
kallisti:/tmp/goo zop alex$ 
Alex

 kallisti:/tmp/goo zop alex$
(rispondo qui a tutti e tre)
A dire il vero non parlavo di console diretta ma di uno script! Se in
uno script uso le virgolette, lui me le traduce spesso con '?'.
eseguendo ilseguente script:
#!/bin/sh
echo inizio
cd miodir
echo `pwd`
cd ..
echo `pwd`
cd la\ cartella
`ls -l`
echo fatto
entra nella prima cartella e stampa il path corrente, ma con la seconda
("la cartella") non fa assolutamente niente!
-- 
Poochie©

 ("la cartella") non fa assolutamente niente!
Non hai fatto uno di quegli stranissimi
    echo `pwd`
che peraltro dovrebbero essere perfettamente equivalenti a dei
    pwd
dopo l'ultimo dei tre cd; credo tu stia cercando di eseguire lo standard
output di
    ls -l
come comando di shell (non sono sicuro ma mi pare che questo
significhino quei back-quote senza un comando cui passare lo stdout come
argomenti...?!).
E` veramente uno script strano.  Proviamone invece uno normale:
kallisti:/tmp alex$ cat normale
echo inizio
mkdir senzaspazio
cd senzaspazio
pwd
cd ..
mkdir con\ spazio
cd 'con spazio'
pwd
kallisti:/tmp alex$ sh normale
inizio
/tmp/senzaspazio
/tmp/con spazio
kallisti:/tmp alex$ 
Tutto OK, no?
Alex

 doppio escape: cd la\\ cartella
non va. "la cartella" effettivamente funziona, il mio problema
evidentemente era che se uso TextWrangler mi fa delle virgolette strane
e storte (ho disattivato gli smart quotes, se può influire) che la shell
interpreta come carattere alieno (tipo le lettere accentate). Ho provato
ogni possibile altarnativa da tastiera e non riesco ad ottenere quelle
dritte che in TW appaiono come rosa.
-- 
Poochie©

 Tutto OK, no?
ok, il problema continuava ad essere TextWrangler. Se devo entrare in
una cartella con spazi devo fare
cd "$dirname"
ho provato con
' o ` al posto di " ma non vanno... il problemone, come detto sopra è
che al posto di " TextWrangler mi fa le virgolette sbilenche e alla
shell non piacciono
-- 
Poochie©

 disattivare gli smart quotes.
Non è cambiato niente!
-- 
Poochie©

 2) sistemare "#" (toglilo o usa "\#")
nope, quei cancelletti sono lì al posto delle virgolette che avevo messo
nello script...
-- 
Poochie©

 3) sei sicuro di non aver disattivato le smart quotes solo per paste?
ho trovato una sola opzione
-- 
Poochie©

 Salvalo, zippalo e spediscilo a onyr...@prfznvy.arg
Mi aggiorno:
- modificando alcuni script appare il carattere non voluto.
- modificando altri script, (dove non č attiva l'autocolorazione per
script) ho quello cceh voglio
- facendo un file nuovo vanno bene (indipendente dal setting della
formattazione test per script)
- ho provato ad aprire un file che avevo creato in vim e va ok.
- nuovo file, copia e incolla dal file dove c'era il difetto... non c'č
piů... evidentemente č legato all'encoding...
mah, vado a cena
-- 
Poochie©

 documento. Per zottare tutto cio` puoi copiare i file da terminale.
Quindi sarebbe nella resource fork?
-- 
Poochie©