Alias para o diretório usando um símbolo

1

Estou tentando configurar um alias para meu diretório de trabalho, o que pode mudar conforme eu mudo de contexto, e estava tentando encontrar algo que fosse pequeno o suficiente para substituir o ~ . Eu ficaria agradecido rosa se é possível ter um nome de um caractere para o alias. Como cd % ou algo assim? Atribuir um apelido para % parece não funcionar.

Eu tentei procurar por requisitos para nomes de variáveis, mas não consegui encontrar nenhum. Eu não sei se isso é um shell embutido, eu não posso ter sido a primeira pessoa a querer fazer isso.

Estou usando o zsh, mas marquei o bash caso seja algo possível em ambos os shells.

    
por OmnipotentEntity 30.10.2013 / 17:58

2 respostas

2

zsh oferece vários recursos para você conseguir o que deseja, mas o mais próximo que consegui é:

alias -g %=/path/to/whereever

O qual substituirá esse caminho por % em qualquer lugar dentro de um comando. Você também pode tentar:

alias '%'='cd /path/to/whereever'

Agora, % é um comando para mudar diretamente para esse diretório. Há também

hash -d work=/path/to/whereever

O que permitiria que você usasse ~work para se referir a esse diretório.

    
por 30.10.2013 / 20:04
1

Não consigo falar com zsh, mas para bash, os aliases são usados apenas para comandos e não para argumentos.

Você provavelmente deseja escrever uma função:

cdw () {
    case $(pwd) in 
        */some/dir)       cd ../work ;;
        */some/other/dir) cd ~/tmp ;;
    esac
}
    
por 30.10.2013 / 19:04