Essa resposta me deu uma cd -
abreviação para mudar para o meu diretório anterior no Bash. Ele tem um grande problema: imprime o diretório para o qual muda, desperdiçando meu espaço na tela, pois esse diretório é repetido no prompt da próxima linha.
Eu sei que posso fazer cd $OLDPWD
, também mencionado nessa resposta, cd - >/dev/null
mas isso é muito mais digitação.
Na bash
página do manual, diz:
... ou se - é o primeiro argumento e a alteração do diretório é bem-sucedida, o nome do caminho absoluto do novo diretório de trabalho é gravado na saída padrão.
Como posso fazer -
para não ser o primeiro argumento? Usando algum dos cd
argumentos opcionais? Alguma outra maneira de suprimir o eco ou minimizar a digitação sem a necessidade de definir funções / aliases em todas as máquinas com as quais trabalho?
fonte
Respostas:
cd
leva em consideração apenas o primeiro argumento, ignorando todos os outros. Nenhuma das opções influencia o eco do nome do caminho anterior (talvez o documentado-@
tenha esse efeito, mas essa é uma opção inválida no meu sistema).Se você não quiser usar um alias / função, que pode fornecer menos caracteres para digitar do que
cd -
ou redirecionar/dev/null
, minha sugestão é começar a usar a expansão til especial embash
:Na
bash
página do manual:Esta parece ser mais uma área em
bash
que algum significado especial foi criado. Tilde expansão normalmente trabalha sobre os US $ DIRSTACK, manipulado / investigado porpushd
,popd
edirs
, ele pode ser usado em outros comandos, bem como (cp ~-/somefile .
) e se você tiver usadopushd
você pode usar~N
(onde N é um número de níveis empurrado para trás) para chegar ao esses diretórios (paracd
ou outros comandos).BTW, se você tiver contas em várias máquinas e supondo que você use o ssh para fazer login nelas a partir de um único local, considere adicionar ao seu
~/.bashrc
:e, em seguida, tenha um script em sua máquina de trabalho que use
scp
para "enviar"bash_common
a cada uma dessas máquinas. Dessa forma, você pode adicionar e compartilhar funcionalidades comuns em várias máquinas com o mínimo de sobrecarga.fonte