Não tenho certeza se é possível, mas eu me lembro dos velhos tempos usando o AIX, era possível mudar meu caminho dizendo apenas qual parte do caminho precisava ser substituída por outra coisa. Por exemplo, digamos que eu tenha dois caminhos:
/etc/application-2.0.1/options/default
e
/etc/application-1.0.8/options/default
que eu poderia mudar da pasta 1 para 2 usando um comando como
cd /2.0.1/1.0.8/
que substituiria, no caminho, a string 2.0.1
para 1.0.8
. Obviamente, isso não funciona para mim agora. Mas existe uma maneira de fazer isso?
sudo apt-get install zsh
Isso deve funcionar no bash no Ubuntu 10.04:
cd ${PWD/old/new}
. Basicamente, isso substitui a primeira ocorrência deold
no seu diretório de trabalho atual pornew
. 2 exemplos abaixo.Exemplo 1
Exemplo 2
Tomando emprestado a idéia do sepp2k acima, você poderia fazer uma função como esta
e depois use algo parecido
mycd 2.0.1 1.0.8
com o switch.fonte
Eu mesmo usei (e perdi) esse recurso. Depende de qual sabor e / ou versão do * nix você está usando. Se você usa o bash, aqui está uma maneira prática de estender o cd interno para incluir essa funcionalidade. Coloque isso no seu .bashrc (ou, para testar, cole-o no shell bash e pressione enter).
fonte
Você provavelmente está se lembrando da expansão da história. Não sei o que estava disponível no seu shell no AIX, mas uma maneira de fazer isso no bash é
^2.0.1^1.0.8
.A expansão do histórico é menos útil em shells como o bash e o zsh que possuem poderosa edição de linha de comando. Você pode usar as teclas de seta para recuperar os comandos anteriores e Alt+ .para inserir a última palavra do comando anterior (pressione duas vezes para acessar o comando anterior e assim por diante).
fonte
histverify
opção deshopt
estiver ativada.--norc
durante o teste.Se você é um fã do vi, pode ativar o modo vi no seu shell (bash set -o vi por exemplo) e usar o modo de comando do vi ...
Ou você pode fazer uma expansão louca do histórico (testado no zsh, talvez também no bash):
fonte
No entanto, isso não é muito bonito. Você pode melhorar um pouco, colocando-o em uma função:
E então chamando assim:
No entanto, você ainda precisa escapar dos pontos, mas tenho certeza de que isso também pode ser resolvido com um pouco de reflexão.
fonte
O comando acima troca 2.0.1 a 1.0.8 no último comando, seu trabalho no bash
fonte
Para garantir que o
-P|-L|-
trabalho use o seguinte:fonte
Não tenho certeza sobre o AIX, mas lembro-me disso como um truque antigo do shell Korn nas caixas Solaris que eu costumava administrar. No seu exemplo, você digitaria o comando:
Mais algumas informações aqui .
fonte