Re: Touch?
dea writes:
> > var4=$var1$var2$var3
>
> vai di:
>
> var4="$var1$var2$var3"
Come ha scoperto antispam, questa non funziona perché tu inibisci
l'uso degli spazi come separatori di token SOLO quando componi il
valore di $4.
Invece, per fare si che touch crei un solo file, bisogna inibire la
separazione dei token quando viene interpetata la command line di
touch.
Quattro grammi di teoria (e tonnellate di saccenza) riassumento man
bash. Potete anche saltare il seguito, se desiderate. Ricordatevi però
che quella di Unix, e quindi di GNU/Linux non è una interfaccia a
linea di comandi, ma un vero e proprio linguaggio di programmazione
interpertato, sia esso la Bourne shell (sh) o la Bourne Again Shell
(bash).
Ovvero cosa accade:
bash riceve
touch $var58
per prima cosa sostituisce le variabili e dato che $58 vale
123 567dmjs9 dmjs9
si ritrova la eseguire la linea
touch 123 567dmjs9 dmjs9
Bash considera lo spazio come un separatore di token, per cui ottiene
4 token di cui il primo viene interpretato come programma da invocare
e i rimanenti come parametri sulla command line, ovvero al comando
touch vengono passati 3 parametri.
L'uso dei doppi apici, come specifica la voce QUOTING di man bash[*],
fa si che bash non dia significato particolare ai metacaratteri | & ;
( ) < > space tab (elenco preso dalla voce DEFINITIONS di man bash)
che per loro natura separano token. Come risultato a touch viene
passato un solo token.
I doppi apici lasciano il significato particolare ai caratteri $ ` e
\ ed infatti antispambox ha ottenuto il risultato che desiderava.
Qualora si necessiti di usare uno di questi tre caratteri, i.e. in
un nome di file particolarmente perverso, usare o il \ davanti al
singolo carattere.
[*] perdonate, ma non uso le traduzioni italiane di man. Sono
sufficienti gli eventuali errori della documentazione senza aggiungere
quelli di traduzione.
--
/\ ___ Ubuntu: ancient
/___/\_|_|\_|__|___Gian Uberto Lauri_____ African word
//--\| | \| | Integralista GNUslamico meaning "I can
\/ coltivatore diretto di software not install
già sistemista a tempo (altrui) perso... Debian"
Warning: gnome-config-daemon considered more dangerous than GOTO
Reply to:
- Follow-Ups:
- Re: Touch?
- From: "Davide G." <gv.davide@gmail.com>
- References:
- Touch?
- From: "Antispammbox-debian" <antispammbox-debian@yahoo.it>
- Re: Touch?
- From: "dea" <dea@corep.it>