PDA

Visualizza la versione completa : [BASH] nome file che iniziano con segno -


tiro1997
21-03-2010, 00:44
Salve,
ho avuto un problema..dovevo eseguire un normale comando in shell bash su un file il cui nome iniziava con il segno -

ricevevo un errore perchè il - con la prima lettera del nome file veniva scambiato per un'opzione del comando..

Come si fa in quei casi?ho provato a mettere anche gli apici ma nulla...

Grazie...

cacao74
21-03-2010, 01:24
in questi casi si utilizza il doppio trattino "--"


macmini:~ cacao74$ touch -- -cacao
macmini:~ cacao74$ ls -l -- -cacao
-rw-r--r-- 1 cacao74 staff 0 21 Mar 00:21 -cacao
macmini:~ cacao74$ rm -- -cacao
macmini:~ cacao74$ ls -l -- -cacao
ls: -cacao: No such file or directory

prova a fare lo stesso senza "--" per notare la differenza

dalla "man" di bash


...
-- A -- signals the end of options and disables further option
processing. Any arguments after the -- are treated as file-
names and arguments. An argument of - is equivalent to --.
...

sacarde
21-03-2010, 09:53
questa non la sapevo

io avevo aggirato il problema:

touch ./-cacao

tiro1997
22-03-2010, 20:50
grazie a entrambi...Bella quella del -- non l'avevo mai sentita ;)

Loading