Como configurar um atalho para um diretório no Mac OS X Terminal?

18

O que eu gostaria de poder fazer é quando estou no Terminal e digitar:

cd myFolderShortcut

E para ir direto para um diretório, eu configurei esse alias. Isso é possível?

Eu fiz um google para ele e Aliases pode ser o que eu quero, mas não consegui fazê-lo funcionar.

benhowdle89
fonte
Se o que você quer é um comando mais curto para cd'ing em um diretório específico, tudo o que você precisa fazer é adicionar o seguinte ao seu ~/.bashrc: alias myalias='cd /path/to/directory'. Você pode substituir myaliaspor qualquer nome de comando personalizado que desejar.
Confira github.com/joelthelion/autojump/wiki , também pode funcionar para você.
Daniel Beck

Respostas:

36

Você não precisa de um arquivo de atalho ou algo assim.


Você pode configurar um alias ~/.bash_profileadicionando a seguinte linha, então basta digitar myFolderShortcutpara ir para lá (sem cd):

alias myFolderShortcut='cd /Users/danielbeck/Documents'

Você também precisa digitar o comando acima ou

source ~/.bash_profile

para que isso entre em vigor. Isso funciona em qualquer diretório, mas requer que seu shell de login seja bash(que é o padrão do OS X)


Obviamente, você pode criar links simbólicos para outros diretórios em seu diretório pessoal. Então, quando você abre o Terminal e está no diretório inicial, cding leva você ao diretório vinculado.

ln -s /Users/danielbeck/Documents/Projects myProjectsDir

Em seguida, digite cd myProjectsDire você está lá (o caminho exibido contém myProjectsDir, porém, não Documents/Projects).

O link simbólico será exibido no Finder. Para ocultá-lo, digite chflags hidden myProjectsDir.

Isso funcionará apenas quando você estiver no seu diretório inicial ( cdsem argumentos o leva lá rapidamente; você pode digitar os dois comandos na mesma linha cd && cd myProjectsDir:).

Daniel Beck
fonte
cdcomo cd ~é meu apelido favorito.
Rob
@ Rob Não é tecnicamente um apelido. cdsem argumento apenas implica ~. A cd -propósito, gosto mais.
Daniel Beck
Olá, não consegui que sua técnica funcionasse. Eu queria criar um atalho para o meu diretório solr. Atualmente, ele mora em: alias solr = 'cd / Aplicativos / MAMP / htdocs / website / WhoAt / solr / whoat /' Talvez meu caminho não esteja correto?
precisa
@ Leon Você está usando o bashshell?
Daniel Beck
Eu acho que estou usando padrão Eu acho ...
Leon Gaban
4

Eu sei que isso é antigo, mas isso pode ajudar alguém.

Depois de seguir a resposta de @Daniel Beck acima e adicionar o alias ao bash_profile como ele mencionou, você deve digitar o seguinte na janela do terminal:

source .bash_profile

Isso fará com que todos os seus aliases funcionem.

Eu tenho isso com esta resposta no estouro de pilha. Ele tem trabalhado para mim. Espero que funcione para quem procura isso ...

Como crio um atalho de terminal para esse caminho?

Salman Hasrat Khan
fonte
2
Obrigado, isso foi útil. Também source ~/.bash_profilepode ser uma maneira mais geral de escrevê-lo
mattsven
1

Só queria acrescentar uma coisa, porque aconteceu comigo e demorei um pouco para encontrar o erro. Escrevi alias myFolderShortcut = 'cd /Users/danielbeck/Documents' porque gosto de ter espaços entre os meus sinais de igual. Mas isso me deu um erro.

Então, depois de remover os espaços, funcionou.

Então use

alias myFolderShortcut='cd /Users/danielbeck/Documents'

Espero que isso ajude alguém no futuro.

Pedro
fonte
0

Outra abordagem é usar a variável de ambiente CDPATH. Isso funciona para o cdcomando da mesma maneira que o PATH funciona para a execução de programas - se você digitar um cdcomando com um parâmetro que não comece com /(ou ~), o shell procurará um diretório com esse nome em cada componente do CDPATH. Por exemplo, se você deseja acesso rápido aos seguintes diretórios:

  • /Users/benhowdle89/Documents/Projects/Project42
  • /Applications/MAMP/htdocs/website/WhoAt/solr/whoat
  • /the/quick/brown/fox/jumps/over/the/lazy/dog

defina CDPATH para o seguinte valor

:/Users/benhowdle89/Documents/Projects:/Applications/MAMP/htdocs/website/WhoAt/solr:/the/quick/brown/fox/jumps/over/the/lazy

e você vai ser capaz de usar os comandos cd Project42, cd whoate cd dog, etc. O valor começa com dois pontos ( :), de modo a incluir uma entrada nula inicial. Em alguns shells, é necessário cdprocurar primeiro o diretório atual.

Isso deve funcionar na maioria dos shells do tipo POSIX; por exemplo, bashe ksh. Para bash, coloque um comando como

export CDPATH=:/Users/benhowdle89/Documents/Projects:/Applications/MAMP/htdocs/website/…

no seu ~/.bash_profileou ~/.bashrc. (Se você usar ~/.bashrc, poderá deixar de fora o export.) Para shells do tipo csh, use cdpathe a sintaxe apropriada no estilo csh.

G-Man diz que 'restabelece Monica'
fonte