henere
Goto Top

Ubuntu - Verzeichniswechsel in Shell

Servus zusammen,

wie kann ich mit der bash in ein Verzeichnis wechseln, dessen Name mit - beginnt ?

root@www:/var/www/html/xt600/xt_werkstatt/_technische-referenz# ll
insgesamt 44
drwxr-xr-- 11 www-data www-data 4096 Aug 14  2010 ./
drwxr-xr-- 17 www-data www-data 4096 Aug 11  2011 ../
drwxr-xr--  2 www-data www-data 4096 Aug 14  2010 -einstelldaten/
drwxr-xr--  2 www-data www-data 4096 Aug 14  2010 -explosionszeichnungen/
drwxr-xr--  2 www-data www-data 4096 Aug 14  2010 -GetriebeRechner/
drwxr-xr--  2 www-data www-data 4096 Dez 13  2010 -literatur/
drwxr-xr--  2 www-data www-data 4096 Aug 14  2010 -motorwechsel/
drwxr-xr--  2 www-data www-data 4096 Aug 14  2010 -schaltplan/
drwxr-xr--  2 www-data www-data 4096 Aug 14  2010 -techn_daten/
drwxr-xr--  2 www-data www-data 4096 Aug 10  2011 -wartungsdaten/
drwxr-xr--  2 www-data www-data 4096 Aug 14  2010 -zuendkerzen/


root@www:/var/www/html/xt600/xt_werkstatt/_technische-referenz# cd -schaltplan/
-bash: cd: -s: Ungültige Option

root@www:/var/www/html/xt600/xt_werkstatt/_technische-referenz# cd '-schaltplan/' 
-bash: cd: -s: Ungültige Option
cd: Gebrauch: cd [-L|[-P [-e]] [-@]] [dir]
root@www:/var/www/html/xt600/xt_werkstatt/_technische-referenz# cd "-schaltplan/" 
> ^C

Wie komme ich da bitte rein ?

Danke und Grüße, Henere

Content-Key: 311860

Url: https://administrator.de/contentid/311860

Printed on: April 25, 2024 at 01:04 o'clock

Mitglied: 129813
Solution 129813 Aug 05, 2016 updated at 14:06:38 (UTC)
Goto Top
Use
cd -- -schaltplan
or
cd ./-schaltplan
Regards
Member: Henere
Henere Aug 05, 2016 at 14:08:45 (UTC)
Goto Top
Thx a lot.
Member: Kraemer
Kraemer Aug 05, 2016 at 14:52:26 (UTC)
Goto Top
Zitat von @129813:
cd ./-schaltplan
Das ist die korrekte Lösung


> cd -- -schaltplan
Das ist streng genommen schlicht Zufall, das es überhaupt funktioniert

Erstelle mal ein Verzeichnis welches als einziges Zeichen ein - hat. Ein
cd -- -
wird nicht funktionieren.

Gruß Krämer
Member: Henere
Henere Aug 05, 2016 at 15:02:46 (UTC)
Goto Top
Servus,

cd -- -schaltplan
hat funktioniert.

Ich hab das ja nur so übernommen und bin dabei das ganze aufzuarbeiten.

Ein Verzeichnis was nur ein - hat ist nicht aussagekräftig und würde nie so vin mir erstellt werden.

Danke Dir tropsdem für die Tipps.

Grüße, Henere
Mitglied: 129813
129813 Aug 05, 2016 updated at 15:42:02 (UTC)
Goto Top
Zitat von @Kraemer:
Das ist streng genommen schlicht Zufall, das es überhaupt funktioniert
NO, that's absolutely correct, have a look into the man page! You can tell this to someone who has no LPIC, but not me face-wink.
http://linux.about.com/library/cmd/blcmdl1_compgen.htm
BASH BUILTIN COMMANDS
Unless otherwise noted, each builtin command documented in this section as accepting options preceded by - accepts -- to signify the end of the options. 
The -- says everything that follows will not be interpreted as a parameter. This is a very common linux style to signify that no command options will follow after it! This also works in many other builtin bash commands.

Erstelle mal ein Verzeichnis welches als einziges Zeichen ein - hat. Ein
> cd -- -
> 
wird nicht funktionieren.
This also works, with a small addition ... add a trailing slash face-smile
cd -- -/
Member: Lochkartenstanzer
Lochkartenstanzer Aug 05, 2016 at 17:19:45 (UTC)
Goto Top
Moin,

Mein Tipp: Unter unixoiden Betriebssystemen sich an bestimtme Konventionen halten, wie z.B. Filenamen nicht mit einem "-" zu beginnen oder "Leerzeichen" zu vermeiden, wenn es geht.

Denn der "-" wird Dir spätestens dann in die Quere kommen, wenn Du in die Ordner und Dateinamen irgendwelchen Skripten und Programmen als Parameter übergibst, wie z.b. in
ls . |  xargs foobar.sh 

lks
Member: Henere
Henere Aug 05, 2016 at 17:42:27 (UTC)
Goto Top
Zitat von @Lochkartenstanzer:

Moin,

Mein Tipp: Unter unixoiden Betriebssystemen sich an bestimtme Konventionen halten, wie z.B. Filenamen nicht mit einem "-" zu beginnen oder "Leertzeichen" zu vermeiden, wenn es geht.

Denn der "-" wird dir spätestens dann in die Quere kommen, wenn Du in die ordner udn dateinamen irgendwelchen Skripten udn Programmen als parameter übergibst, wie z.b. in
> ls . |  xargs foobar.sh 
> 

lks

Ja das ist mir schon klar, aber wenn man fremde Baustellen übernimmt, muss man dort erstmal mit den Gegebenheiten klar kommen, bis man die Zeit und Muße hat, das umzubauen.

- Never run a touching system - face-smile

Henere