¿Qué significa 'cd -'?


95

En un script de shell bash hoy noté el siguiente comando al final del script. Yo se que escd pero desconozco el significado de una carrera tras él.

cd -

¿Qué significa esto? Google trunca ingenuamente el, -por lo que no puedo encontrar su respuesta.


@nm No man cden mi máquina, FYI.
Dan Fego

Probé eso.
Devolverá

2
Es posible que también desee ver los comandos pushdy popd. No podría vivir sin ellos.
Brett Hale

2
@nm: cdno es un binario externo, es un comando integrado en los shells. pista man bash.
jordanm

Lo tengo man cden mi sistema (Gentoo), dice: This manual page is part of the POSIX Programmer's Manualetc etc. Si falta el tuyo, siempre puedes buscar en Google man cd.
n. 'pronombres' m.

Respuestas:


128

Si se especifica un solo guión como argumento, será reemplazado por el valor de OLDPWD.

Se OLDPWDestablece mediante cdcomando y es el directorio de trabajo anterior.


2
Gracias. Esto fue breve y, desde el punto de vista del programador, completo.
AppleGrew

que pasa si lo proporcionamos -como archivo.
viveksinghggits

@viveksinghggits Puede usar cd ./-o para eliminarlo puede escapar conrm -fr -- -
Sandro Munda

20

cd - vuelve al directorio en el que estaba anteriormente.

Por ejemplo:

marcelo @ marcelo: ~ $ cd / opt
marcelo @ marcelo: / opt $ cd / usr / bin
marcelo @ marcelo: / usr / bin $ cd -
/optar
marcelo @ marcelo: / opt $ 

Estaba en / opt, cambié a / usr / bin y luego volví a / opt con cd -


10

cd - lo lleva de vuelta al último directorio.

$ cd ~/Desktop
$ pwd
/Users/daknok/Desktop
$ cd /
$ pwd
/
$ cd -
$ pwd
/Users/daknok/Desktop

6

cd - vuelve al directorio anterior en el que estaba.

Di que estoy adentro /usr/y escribocd /var/local/someplace/else

Entonces uso cd -voy a volver a/usr


6

Del manual

Un argumento de - es equivalente a $ OLDPWD. Si se usa un nombre de directorio no vacío de CDPATH, o si - es el primer argumento, y el cambio de directorio es exitoso, el nombre de ruta absoluto del nuevo directorio de trabajo se escribe en la salida estándar. El valor de retorno es verdadero si el directorio se cambió correctamente; falso de lo contrario

Por lo tanto, -es equivalente a $OLDPWD, que contiene el último directorio en el que estaba el shell, y se establece mediante la cdinvocación anterior .



2

cd: lo lleva de vuelta al último directorio en el que estaba. p.ej

cd ~/Documents
cd ~
cd /

Ahora está en '/', y si ejecuta 'cd -' estará en '~'. Por cierto, ejecute 'cd -' una vez más, volverá a '/' pero no a '~ / Documentos'


-1

“Directorio actual” es lo que significa el comando de terminal bash cd. Significa "mantenerme en este directorio"


cd significa "Cambio de directorio".
Reyhaneh Trb
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.