O que significa 'cd -'?


98

Hoje, em um script bash shell, observei o comando abaixo no final do script. Eu sei o que é, cdmas não tenho consciência do significado de um travessão depois dele.

cd -

O que isto significa? O Google ingenuamente trunca o, -então não consigo encontrar sua resposta.


@nm Não man cdna minha máquina, FYI.
Dan Fego

Tentei isso. Ele retornará cd-rom, CD etc.
AppleGrew

2
Você também pode querer examinar os comandos pushde popd. Eu não poderia viver sem eles.
Brett Hale

2
@nm - cdnão é um binário externo, é um comando embutido nos shells. dica man bash.
Jordânia,

Eu tenho man cdno meu sistema (Gentoo), ele diz: This manual page is part of the POSIX Programmer's Manualetc etc. Se o seu estiver faltando, você pode sempre pesquisar no Google man cd.
n. 'pronomes' m.

Respostas:


131

Se um único traço for especificado como o argumento, ele será substituído pelo valor de OLDPWD.

O OLDPWDé definido por cdcomando e é o diretório de trabalho anterior.


2
Obrigado. Isso foi curto e, do ponto de vista do programador, completo.
AppleGrew

o que acontece se fornecermos -como arquivo.
viveksinghggits

@viveksinghggits Você pode usar cd ./-ou excluí-lo com um escaperm -fr -- -
Sandro Munda

20

cd - retorna ao diretório em que estava anteriormente.

Por exemplo:

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

Eu estava em / opt, mudei para / usr / bin e voltei para / opt com cd -


10

cd - o leva de volta ao último diretório.

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

6

cd - retorna ao diretório anterior em que você estava.

Diga que estou dentro /usr/e eu digitocd /var/local/someplace/else

Então eu uso cd -voltarei para/usr


6

Do manual

Um argumento de - é equivalente a $ OLDPWD. Se um nome de diretório não vazio de CDPATH for usado, ou se - for o primeiro argumento, e a mudança de diretório for bem-sucedida, o nome do caminho absoluto do novo diretório de trabalho é gravado na saída padrão. O valor de retorno é verdadeiro se o diretório foi alterado com sucesso; caso contrário, falso

Portanto, o -é equivalente a $OLDPWD, que contém o último diretório em que o shell estava e é definido pela cdchamada anterior .



2

cd - traz você de volta ao último diretório onde você estava. por exemplo

cd ~/Documents
cd ~
cd /

Agora você está em '/' e, se executar 'cd -', estará em '~'. BTW, execute 'cd -' mais uma vez, você retornará a '/' mas não a '~ / Documentos'


-1

“Diretório atual“ É o que o comando bash cd terminal significa. Significa "mantenha-me neste diretório"


cd significa "Mudando de diretório"!
Reyhaneh Trb
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.