Eu gostaria de construir uma função curta para fazer o seguinte. Digamos que eu movo o arquivo 'file.tex' para o meu diretório de documentos:
mv file.tex ~/Documents
Em seguida, gostaria de acessar cd
esse diretório:
cd ~/Documents
Eu gostaria de generalizar isso para qualquer diretório, para que eu possa fazer isso:
mv file.tex ~/Documents
follow
e faça com que o follow
comando leia o destino do comando anterior e execute de acordo. Para um diretório simples, isso não economiza muito tempo, mas ao trabalhar com diretórios aninhados, seria tremendo poder usar apenas
mv file.tex ~/Documents/folder1/subfolder1
follow
Eu pensei que seria relativamente simples e que eu poderia fazer algo assim:
follow()
{
place=`history 2 | sed -n '1p;1q' | rev | cut -d ' ' -f1 | rev`
cd $place
}
mas isso não parece funcionar. Se eu ecoar $place
, obtenho a string desejada (estou testando ~/Documents
), mas o último comando retorna
No such file or directory
O diretório certamente existe. Estou perdida. Você poderia me ajudar?
cd
alt + .
para substituir o último token do comando anterior. Repita para voltar ainda mais na história dos tokens finais. (Eu digo token não arg, porque foo &
agarra &
como o token final.) Você pode usar um argumento numérico (com escape-3 alt +. Por exemplo).
file.tex
em manter o local original, os links simbólicos são uma alternativa muito boa, pois você só precisa vincular uma vez e, sempre, apontará para a versão mais recente.