Escape - mit linux

hallo leute :slight_smile:

hoffe mir kann jemand helfen. im endeffekt ist es eine sehr simple
frage, wie kann man das - Zeichen in Verzeichnissen escapen. Beispiel;

rockabily:~ lukas$ cd \-\-lukas\-\-/eclipse\-projects/
-bash: cd: --: invalid option
cd: usage: cd [-L|-P] [dir]

w├Ąrsuper wenn mir das jemand beantworten k├Ânnte

mfg
lukas

Hallo,
probier "cd ./--lukasbla bla

~ Andi

hoffe mir kann jemand helfen. im endeffekt ist es eine sehr simple
frage, wie kann man das - Zeichen in Verzeichnissen escapen. Beispiel;

rockabily:~ lukas$ cd \-\-lukas\-\-/eclipse\-projects/
-bash: cd: --: invalid option
cd: usage: cd [-L|-P] [dir]

w├Ąrsuper wenn mir das jemand beantworten k├Ânnte

Escapen nuetzt nichts. Es ist nicht die Shell die sich am Minus-Zeichen
stoesst, sondern der Befehl cd.

Das Problem tritt nur auf, wenn Dateinamen mit einem Minus beginnen.
Solche Dateinamen solltest Du vermeiden um Dir das Leben
leichter zu machen :slight_smile:

Bye, Chris.

hat mit dem tip von andreas geklappt :slight_smile:

aber danke f├╝r den tipp

mfg
lukas

Andreas Kofler wrote:

hallo

> hoffe mir kann jemand helfen. im endeffekt ist es eine sehr simple
> frage, wie kann man das - Zeichen in Verzeichnissen escapen. Beispiel;
> w├Ąrsuper wenn mir das jemand beantworten k├Ânnte

die funktion getopt(3) behandelt normalerweise die optionen.. jedes
programm welches getopt() verwendet (ich behaupte mal jedes GNU
programm), verh├Ąlt sich somit wie folgt.

da dateien welche mit einem - beginnen von getopt() als
aneinanderkettung von optionen interpretiert w├╝rde gibt es
standardmaessig die option "--", welche getopt() mitteilt, dass nach
dieser option keine optionen mehr folgen. alles weitere wird als
argumente verwendet.

d.h sowas funktioniert:

cd -- -einverzeichnisdasmiteinemminusbeginnt

mkdir -- ----verzeichnis
oder
ls -ld -- -*

(aus diesem grund waere es von vorteil bei shell-scripts generell immer
-- zu verwenden.)

peter